/* The next little chapter of Xingyu, in the same soft botanical palette. */
:root{--ease-soft:cubic-bezier(.22,.75,.25,1);--ink-soft:#77816f}
button{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #9bae87;outline-offset:4px}button:disabled{cursor:default;opacity:.48;transform:none!important}button:active:not(:disabled){transform:translateY(1px)}
.sidebar{overflow-y:auto;scrollbar-width:thin}.nav-caption{margin-top:30px}.nav-item{padding-top:11px;padding-bottom:11px}.sidebar-note{margin-top:28px}.sidebar-bottom{min-height:52px}.sidebar nav{flex-shrink:0}
.inner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.inner-card{position:relative;isolation:isolate;overflow:hidden;text-align:left;min-height:200px;padding:24px 22px;border:1px solid #e4e6dc;border-radius:17px;transition:transform .35s var(--ease-soft),box-shadow .35s,background .3s;background:#f4f0f6}.inner-card:hover{transform:translateY(-5px);box-shadow:0 12px 26px #65705c12}.inner-card:before{content:'';position:absolute;right:-35px;bottom:-65px;width:205px;height:205px;border:1px dashed #cbbfd440;border-radius:50%;z-index:-1}.inner-card-copy{position:relative;z-index:1}.inner-card .card-kicker{font-size:8px;letter-spacing:1px}.inner-card h3{font-size:18px;font-weight:600;letter-spacing:.5px;margin:13px 0 8px}.inner-card p{font-size:11px;color:#93839e;margin:0;max-width:190px;line-height:1.8}.inner-card>img{position:absolute;width:145px;height:120px;object-fit:contain;right:0;bottom:7px;z-index:-1;transition:transform .5s var(--ease-soft)}.inner-card:hover>img{transform:translateY(-5px) rotate(4deg)}.inner-card-meta{display:inline-flex;align-items:center;gap:10px;margin-top:48px;font-size:9px;color:#908399}.inner-card-meta b{width:23px;height:23px;border-radius:50%;background:#fff9;display:grid;place-items:center;font-weight:400;font-size:13px}.inner-elements{background:#eff3e9;border-color:#e2e8d8}.inner-elements p,.inner-elements .card-kicker,.inner-elements .inner-card-meta{color:#8b9a78}.inner-tarot{background:#f6efe5;border-color:#eae1d4}.inner-tarot p,.inner-tarot .card-kicker,.inner-tarot .inner-card-meta{color:#a08e75}
dialog{scrollbar-width:thin;scrollbar-color:#d6deca transparent;overscroll-behavior:contain}dialog[open]{animation:modal-bloom .32s var(--ease-soft)}dialog::backdrop{animation:backdrop-in .3s ease-out}dialog.is-closing::backdrop{opacity:0;transition:opacity .18s}.view-enter{animation:view-enter .3s var(--ease-soft)}#modal-title:focus{outline:none}.modal-intro{font-size:13px;color:#7c8772}.smallprint{font-size:11px;color:#89927f}.modal-eyebrow{font-size:10px;color:#91a077}.answer-option{font-size:13px;min-height:52px;border-radius:13px;transition:border-color .2s,background .2s,transform .25s var(--ease-soft)}.answer-option:hover{transform:translateX(3px)}.answer-option.selected{box-shadow:0 0 0 1px #a6bc8e40}.answer-option.selected .answer-circle{animation:answer-pop .25s var(--ease-soft)}.answer-option small{margin-left:auto;font-size:9px;color:#b3b9a9}.answer-circle{width:20px;height:20px;flex-shrink:0;transition:background .2s}.question-text{font-size:24px;line-height:1.6;min-height:78px;margin-top:24px}.progress-track{height:5px;background:#ebece4}.progress-track span{transition:width .4s var(--ease-soft)}.quiz-controls button{min-height:44px}.quiz-controls{align-items:stretch}.result-word{font-size:37px;letter-spacing:3px;margin:20px 0 12px;overflow-wrap:anywhere}.result-section-title{font-size:13px;font-weight:500;margin:26px 0 14px;display:flex;justify-content:space-between;gap:8px}.result-section-title>span{font-size:10px;color:#9ba38f;font-weight:400}.result-distribution{display:grid;gap:13px;margin:17px 0 25px}.distribution-row{display:grid;grid-template-columns:29px 62px 1fr 35px;gap:12px;align-items:center;font-size:12px;color:#7c846f}.distribution-icon{width:28px;height:28px;background:color-mix(in srgb,var(--accent) 16%,white);border-radius:9px;color:var(--accent);display:grid;place-items:center;font-size:13px}.distribution-row b{text-align:right;font-weight:500;font-size:12px}.distribution-row small{font-size:8px;margin-left:1px}.distribution-track{height:7px;border-radius:10px;background:#eeeee7;overflow:hidden}.distribution-track i{display:block;height:100%;border-radius:10px;animation:grow-bar .7s var(--ease-soft);transform-origin:left}.motive-note{background:#f3eef6;border-radius:12px;padding:15px 19px;margin:18px 0}.motive-note>span{font-size:10px;color:#a091af}.motive-note p{font-size:12px;color:#8a7699;line-height:1.8;margin:5px 0 0}.reflection-question{border-top:1px dashed #d6ddca;padding-top:12px!important;margin-top:13px!important;color:#7c8c69!important;line-height:1.9}.profile-library{border:1px solid #e5e8dc;border-radius:13px;padding:15px 18px;margin-top:20px;font-size:12px}.profile-library summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;color:#7b886d}.profile-library summary::-webkit-details-marker{display:none}.profile-library summary span{font-size:17px;color:#9eac8f;transition:transform .2s}.profile-library[open] summary span{transform:rotate(45deg)}.profile-library>div{margin-top:15px;border-top:1px dashed #e2e5d9;padding-top:13px}.profile-library b{font-weight:500;font-size:12px}.profile-library p{font-size:11px;color:#89937f;line-height:1.9;margin:6px 0 0}
.bazi-intro{display:flex;align-items:center;gap:22px;margin:2px 0 17px}.bazi-intro .modal-art{width:88px;height:100px;margin:0;flex-shrink:0}.bazi-intro .modal-title{font-size:23px}.bazi-intro .modal-eyebrow{font-size:8px;letter-spacing:1.4px}.field>label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#647158}.field>label>span{font-size:10px;font-weight:400;color:#a2aa96}.date-trigger{display:flex;align-items:center;gap:13px;width:100%;min-height:61px;padding:15px 18px;border:1px solid #dce3d0;border-radius:13px;background:#fff;color:#9fa795;font-size:13px;text-align:left;transition:box-shadow .25s,border-color .25s,background .25s}.date-trigger:hover,.date-trigger[aria-expanded=true]{border-color:#b2c399;box-shadow:0 0 0 3px #dce6ce50;background:#fefff9}.date-trigger.has-value{color:#62764f}.date-symbol{background:#eff3e6;color:#9baf7b;border-radius:9px;padding:1px 6px;font-size:24px;line-height:1.2}.date-chevron{margin-left:auto;font-size:19px;color:#a9b49b;transition:transform .3s var(--ease-soft)}.date-trigger[aria-expanded=true] .date-chevron{transform:rotate(180deg)}.birth-calendar{background:#fff;border:1px solid #dfe6d3;border-radius:16px;padding:15px 20px 10px;margin-top:5px;box-shadow:0 8px 25px #6e815c0b;animation:calendar-open .3s var(--ease-soft);transform-origin:top}.birth-calendar[hidden]{display:none}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-heading>div{display:flex;gap:6px}.calendar-heading button{border-radius:8px;padding:7px 10px;background:#f3f6ed;font-size:13px;color:#7a8e63;min-height:35px}.calendar-heading button span{font-size:11px;color:#b0b99f;margin-left:5px}.calendar-heading .calendar-arrow{background:transparent;font-size:24px;line-height:1;width:34px;padding:4px}.calendar-body{animation:calendar-slide .22s var(--ease-soft)}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week{margin-bottom:9px;text-align:center;color:#b1b8a5;font-size:10px}.calendar-days button{aspect-ratio:1.25;border-radius:10px;min-height:34px;background:transparent;font-size:12px;color:#7a866c;position:relative;transition:background .2s,transform .2s,color .2s}.calendar-days button:hover:not(:disabled){background:#edf3e4;transform:scale(1.08)}.calendar-days button[aria-pressed=true],.calendar-choices button[aria-pressed=true]{background:#bcd499;color:#3e5832}.calendar-days button[aria-current=date]:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:#9c8aae;bottom:5px;left:calc(50% - 1px)}.calendar-days button:disabled{opacity:.3}.calendar-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.calendar-choices>button{border-radius:10px;background:#f7f8f2;color:#8d9b7d;font-size:14px;min-height:53px;transition:background .2s}.calendar-choices>button:hover:not(:disabled){background:#ecf2e2}.calendar-choices small{font-size:9px;margin-left:3px}.calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px dashed #e7ebdf;margin-top:12px;padding-top:9px;color:#a2ab96;font-size:9px}.calendar-foot button{padding:4px 7px;background:none;font-size:10px;color:#8c9b79}.time-selectors{display:flex;gap:14px;align-items:center}.time-selectors select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2395a584' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 17px center;min-height:53px;padding:12px 36px 12px 17px;cursor:pointer;border-radius:12px;font-size:13px}.time-selectors>span{color:#b3bba7;font-size:20px}.error-text:not(:empty){background:#f8ede7;color:#aa7864;padding:11px 14px;border-radius:9px}
.spread-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0 15px}.spread-options>button{background:#f0edf5;border:1px solid #e4ddec;border-radius:16px;display:flex;flex-direction:column;align-items:center;padding:23px 12px;transition:transform .3s var(--ease-soft),box-shadow .3s}.spread-options>button:nth-child(2){background:#f3efe5;border-color:#e9e1d3}.spread-options>button:hover{transform:translateY(-4px);box-shadow:0 9px 20px #8a7e9510}.spread-options>button>span{font-size:33px;color:#a194b5;line-height:1;margin-bottom:15px}.spread-options>button:nth-child(2)>span{color:#b8a27e}.spread-options strong{font-size:14px;font-weight:500;margin-bottom:6px}.spread-options small{font-size:10px;color:#9e94a8;line-height:1.7}.spread-options b{font-size:10px;color:#9b88ad;font-weight:400;margin-top:18px}.spread-options>button:nth-child(2) b{color:#ae9979}.tarot-library-link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px;background:#f2f5ec;border:1px dashed #dfe6d4;border-radius:13px;color:#84956e;font-size:12px}.tarot-library-link span{font-size:10px;color:#a0ad90}.tarot-selection-progress{text-align:center;font-size:11px;letter-spacing:1px;color:#9c8dac;margin:25px 0 15px}.tarot-deck{height:235px;display:flex;justify-content:center;align-items:center;padding:20px 25px;margin:0 -10px;position:relative}.deck-card{height:172px;width:108px;flex-shrink:0;padding:0;margin:0 -22px;border-radius:11px;background:none;transform:translateY(calc((var(--card-index) - 3)*(var(--card-index) - 3)*2px)) rotate(calc((var(--card-index) - 3)*5deg));transition:transform .5s var(--ease-soft),filter .4s,opacity .4s;box-shadow:-3px 0 12px #83718a18}.deck-card:not(:disabled):hover,.deck-card:focus-visible{transform:translateY(-20px) rotate(calc((var(--card-index) - 3)*4deg));filter:brightness(1.04);z-index:2}.card-back{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:repeating-linear-gradient(45deg,#ada0be08 0,#ada0be08 1px,transparent 1px,transparent 8px),#e5dded;border:3px solid #f8f3fa;border-radius:11px;outline:1px solid #c4b5d2;position:relative;overflow:hidden;color:#9f8bb3}.card-back:before{content:'';position:absolute;inset:8px;border:1px solid #bcaacf;border-radius:6px}.card-back:after{content:'';position:absolute;width:65px;height:65px;border:1px solid #c0b0d1;border-radius:50%;top:43px}.card-back i{font-size:17px;font-style:normal;line-height:1}.card-back b{font-size:45px;line-height:1.4;font-weight:400;color:#ae9abd}.card-back small{font:7px Arial,sans-serif;letter-spacing:2px;margin-top:8px}.deck-card.is-picked{opacity:.55;transform:translateY(-30px) rotate(calc((var(--card-index) - 3)*5deg))!important;box-shadow:0 0 0 2px #b3c696}.deck-card.is-picked:after{content:'✓';position:absolute;bottom:-22px;left:45px;font-size:14px;background:#e9efdc;color:#849b69;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.deck-card:disabled{opacity:1}.deck-card.is-picked:disabled{opacity:.65}.tarot-deck.is-shuffling .deck-card{animation:shuffle-deal .65s var(--ease-soft) both;animation-delay:calc(var(--card-index)*35ms)}.deck-caption{text-align:center;font-size:10px;letter-spacing:1px;color:#b1a6b9;margin:13px 0 24px}.tarot-reveal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;perspective:1000px;margin:25px 0 29px}.tarot-reveal-grid.single-card{grid-template-columns:minmax(0,190px);justify-content:center}.revealed-card{text-align:center;min-width:0;animation:card-reveal .8s var(--ease-soft) both;animation-delay:var(--reveal-delay);backface-visibility:hidden}.revealed-card>small{display:block;font-size:10px;color:#ab9ab7;margin-bottom:11px;letter-spacing:1px}.tarot-front{background:#faf8f0;border:1px solid #d5c9df;border-radius:13px;padding:11px 9px 17px;box-shadow:0 6px 15px #9281990c;position:relative}.tarot-front:before{content:'';position:absolute;inset:5px;border:1px solid #e6ddec;border-radius:9px;pointer-events:none}.tarot-front .tarot-art{display:block;width:100%;height:auto;margin:6px 0 12px;transition:transform .5s}.tarot-front.is-reversed .tarot-art{transform:rotate(180deg)}.tarot-numeral{font:10px Georgia,serif;color:#ad9bb8}.tarot-front strong{font-size:15px;font-weight:500;display:block;color:#8c7a9a;margin-bottom:6px}.tarot-english{display:block;min-height:20px;font:6px/1.5 Arial,sans-serif;letter-spacing:1px;color:#b0a0bb}.orientation-label{font-size:9px;color:#b0a2b9;margin-top:10px;display:block}.tarot-reading{background:#f3f0f5;border-color:#e8e0ed}.tarot-reading h3{color:#8c7a9c;display:flex;align-items:center;gap:10px}.tarot-reading h3>span{font:10px Georgia,serif;color:#b6a5c3}.tarot-reading p{color:#8e8397;font-size:12px}.reading-keywords{display:flex;gap:6px;margin:10px 0}.reading-keywords>span{font-size:9px;padding:2px 8px;background:#fff8;border-radius:5px;color:#a495b0}.tarot-reading .reflection-question{border-color:#ded4e7;color:#9a87aa!important}.tarot-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:24px 0}.tarot-library>button{background:#fff;border:1px solid #e6e2e8;border-radius:12px;padding:8px 8px 12px;transition:transform .3s var(--ease-soft),border-color .3s;min-width:0}.tarot-library>button:hover{transform:translateY(-4px);border-color:#c8bad5}.tarot-library .tarot-art{display:block;width:100%;height:auto;margin-bottom:8px}.tarot-library strong{display:block;font-size:12px;font-weight:500;color:#9787a3}.tarot-library small{font-size:8px;display:block;color:#b1a6b8;margin-top:4px}.tarot-detail-art{width:190px;margin:20px auto}.tarot-detail-art svg{width:100%;height:auto}.history-item strong{line-height:1.8}.history-item>div{min-width:0}.history-item .history-icon{max-width:125px;font-size:12px;overflow-wrap:anywhere;flex-shrink:0}.history-item button{flex-shrink:0}
@keyframes modal-bloom{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes view-enter{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes calendar-open{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes calendar-slide{from{opacity:.3;transform:translateX(5px)}to{opacity:1;transform:translateX(0)}}@keyframes answer-pop{0%{transform:scale(.8)}65%{transform:scale(1.15)}100%{transform:scale(1)}}@keyframes grow-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes card-reveal{from{opacity:0;transform:rotateY(-80deg) translateY(12px)}to{opacity:1;transform:rotateY(0) translateY(0)}}@keyframes shuffle-deal{from{opacity:0;transform:translateX(calc((3 - var(--card-index))*28px)) rotate(0)}to{opacity:1;transform:translateY(calc((var(--card-index) - 3)*(var(--card-index) - 3)*2px)) rotate(calc((var(--card-index) - 3)*5deg))}}
@media(min-width:1500px){.inner-card{min-height:220px;padding:26px}.inner-card>img{width:170px;height:135px;right:2px}.inner-card-meta{margin-top:58px}.inner-card h3{font-size:20px}}
@media(max-width:1150px){.inner-grid{gap:12px}.inner-card{padding:19px 16px;min-height:202px}.inner-card h3{font-size:17px}.inner-card p{font-size:10px}.inner-card>img{width:125px;height:105px;bottom:21px;right:-9px}.inner-card-meta{font-size:8px;gap:5px;margin-top:61px}.inner-card .card-kicker{font-size:7px;letter-spacing:.4px}.inner-card-meta b{width:19px;height:19px}.sidebar-note{margin-top:15px}}
@media(max-width:900px) and (min-width:701px){.sidebar nav{margin-top:25px}.nav-item{padding:12px 10px}.inner-card h3{font-size:15px}.inner-card>img{right:-19px;opacity:.85}.inner-card-meta{margin-top:65px}.inner-card p{font-size:9px;max-width:135px}}
@media(max-height:850px) and (min-width:701px){.sidebar-note{display:none}.sidebar{padding-top:26px}.nav-caption{margin-top:27px}.nav-divider{margin:14px}.sidebar-bottom{padding-top:16px}}
@media(max-width:700px){.sidebar{overflow:visible}.sidebar .nav-extra{display:none}.sidebar nav{margin:0}.nav-item{padding:5px 0}.inner-grid{grid-template-columns:1fr;gap:12px}.inner-card{min-height:146px;padding:20px 22px}.inner-card .card-kicker{font-size:8px;letter-spacing:1px}.inner-card h3{font-size:18px;margin:9px 0 4px}.inner-card p{font-size:10px;max-width:200px}.inner-card>img{width:139px;height:125px;right:3px;bottom:8px;opacity:1}.inner-card-meta{margin-top:12px;font-size:9px}.inner-card-meta b{width:21px;height:21px;margin-left:4px}.inner-card:before{width:180px;height:180px;bottom:-35px;right:-35px}.inner-card-copy{max-width:70%}.inner-section .section-heading{align-items:flex-end}.inner-section .section-note{font-size:7px;max-width:100px;letter-spacing:.4px}.inner-section .section-heading p{font-size:9px}.view-enter{animation-duration:.25s}.question-text{font-size:21px;min-height:100px;line-height:1.7}.answer-option{min-height:51px;font-size:12px}.modal-intro{font-size:12px}.smallprint{font-size:10px;line-height:1.9}.bazi-intro{gap:13px}.bazi-intro .modal-art{width:63px;height:77px}.bazi-intro .modal-title{font-size:19px}.bazi-intro .modal-eyebrow{font-size:6px;letter-spacing:.7px}.field>label>span{font-size:9px}.date-trigger{font-size:12px;padding:14px;gap:10px}.date-value{letter-spacing:.3px}.birth-calendar{padding:14px 12px 9px}.calendar-week,.calendar-days{gap:4px}.calendar-days button{font-size:11px;min-height:34px;aspect-ratio:1.05}.calendar-choices>button{min-height:49px;font-size:12px}.calendar-heading{margin-bottom:10px}.calendar-heading button{font-size:12px;padding:6px 9px}.time-selectors{gap:10px}.time-selectors select{font-size:12px;padding-left:14px}.spread-options{gap:10px}.spread-options>button{padding:20px 8px}.spread-options strong{font-size:12px}.spread-options small{font-size:9px}.tarot-library-link{font-size:11px;padding:15px 13px}.tarot-library-link span{font-size:9px}.tarot-deck{height:220px;margin:0 -16px;padding:20px 0}.deck-card{width:82px;height:139px;margin:0 -20px}.card-back b{font-size:33px}.card-back:after{width:49px;height:49px;top:37px}.card-back:before{inset:6px}.card-back small{font-size:6px;letter-spacing:1.5px}.deck-card.is-picked:after{left:29px}.tarot-reveal-grid{gap:8px;margin-top:20px}.tarot-front{padding:9px 6px 14px;border-radius:10px}.tarot-front strong{font-size:12px}.tarot-front:before{inset:4px;border-radius:7px}.tarot-english{font-size:5px;letter-spacing:.3px;min-height:17px;line-height:1.5}.tarot-numeral{font-size:9px}.orientation-label{font-size:8px;line-height:1.7}.revealed-card>small{font-size:9px;letter-spacing:0}.tarot-front .tarot-art{margin:6px 0 9px}.tarot-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.tarot-library>button{padding:6px 6px 10px}.tarot-library strong{font-size:11px}.tarot-reading{padding:15px}.distribution-row{grid-template-columns:27px 55px 1fr 31px;gap:8px;font-size:11px}.distribution-row b{font-size:11px}.history-item{gap:10px}.history-item .history-icon{font-size:10px;max-width:80px;padding:8px}.history-item strong{font-size:11px}.result-word{font-size:29px}.result-section-title{font-size:12px}.result-section-title>span{font-size:9px}.calendar-foot>span{font-size:8px}}
@media(max-width:360px){.inner-card{padding-left:17px}.inner-card>img{width:120px;right:-6px}.inner-card h3{font-size:17px}.inner-card p{font-size:9px}.inner-card-meta{font-size:8px}.modal-title{font-size:21px}.bazi-intro .modal-title{font-size:17px}.quiz-controls{gap:8px}.quiz-controls .primary-button{padding:11px 16px}.calendar-heading button{padding:5px 7px}.tarot-deck{transform:scale(.9);margin:0 -25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.calendar-days button{aspect-ratio:auto;height:38px;min-height:38px}html:has(dialog[open]){overflow:hidden}

.result-subtype{font-size:12px;letter-spacing:2px;color:#a193af;margin:0 0 12px}.tarot-art>rect{stroke:none}.element-distribution .distribution-row{grid-template-columns:29px 86px 1fr 35px}@media(max-width:700px){.element-distribution .distribution-row{grid-template-columns:27px 76px 1fr 31px}.result-subtype{font-size:11px;letter-spacing:1px}}

.modal-eyebrow{line-height:1.8;overflow-wrap:anywhere}@media(max-width:700px){.hero h1{font-size:clamp(24px,7.4vw,29px)}}
