:root{--paper:#f7f3ea;--paper-deep:#efe7d6;--ink:#302737;--muted:#817c83;--gold:#af8c4e;--gold-light:#d5be8c;--red:#aa5955;--line:#e7deca;--white:#fffefa;--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",STSong,"SimSun",serif;--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--shadow:0 14px 45px #4e3f5020}
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;min-width:280px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse at 0 0,#e8dfe859,transparent 48%),radial-gradient(ellipse at 100% 20%,#e8d9b747,transparent 44%)}[hidden]{display:none!important}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b88954;outline-offset:4px}button:disabled{cursor:wait;opacity:.55}img,svg{max-width:100%}button{touch-action:manipulation}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600}button,a{overflow-wrap:anywhere}a{color:inherit}::selection{background:#e7d2a3;color:var(--ink)}.skip-link{position:fixed;z-index:20;top:-80px;left:12px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:6px}.skip-link:focus{top:12px}
.site-header{display:flex;align-items:center;justify-content:space-between;max-width:1180px;padding:30px 36px;margin:0 auto}.brand{display:flex;gap:13px;align-items:center;border:0;background:none;padding:0;text-align:left;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.12em;min-height:48px}.brand small{font-family:var(--sans);display:block;font-size:8px;font-weight:400;letter-spacing:.22em;color:var(--muted);margin-top:-1px}.brand-seal{width:33px;height:38px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:12px 3px 12px 3px;color:var(--gold);font-size:22px;line-height:1;letter-spacing:0}.header-note{font-family:var(--serif);color:var(--muted);font-size:13px;letter-spacing:.16em}.home-view{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.18fr 1fr;align-items:center;column-gap:40px;padding:34px 36px 16px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:500}.eyebrow>span{margin-right:8px}.hero-copy h1{font-size:clamp(36px,4.3vw,60px);letter-spacing:-.035em;line-height:1.3;margin:24px 0}.hero-copy h1>span{color:var(--gold);font-weight:500}.mobile-break{display:none}.hero-lead{font-family:var(--serif);color:#77707b;font-size:17px;line-height:2.1}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:50px;padding:13px 25px;border-radius:30px;border:1px solid var(--ink);background:var(--ink);color:#fffdf7;font-family:var(--serif);font-size:15px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s,box-shadow .2s}.primary-button:hover{background:#4d3d51;box-shadow:0 8px 20px #30273719}.primary-button>span,.secondary-button>span{font-family:var(--sans);font-size:18px;font-weight:400}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.secondary-button{border-color:var(--line);background:#fffefa9c;color:var(--ink)}.secondary-button:hover{background:#eee6d5}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 1px;border:0;background:none;color:#847b8b;font-family:var(--serif);font-size:14px;text-decoration:none}.text-button:hover{color:var(--ink)}.home-status{font-size:11px;color:#938d94;margin-top:18px;letter-spacing:.03em;min-height:20px}.hero-art{position:relative;width:100%;max-width:410px;justify-self:center;text-align:center;padding:8px 35px 0}.hero-art img{position:relative;z-index:1;width:100%;height:auto;vertical-align:middle;filter:drop-shadow(0 16px 13px #66524824);animation:arrive .8s ease both}.art-halo{position:absolute;inset:10% 0 13%;border:1px solid #e6ddca98;background:#fffaf445;border-radius:130px 130px 20px 20px;transform:rotate(6deg)}.hero-art figcaption{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--serif);color:var(--gold);font-size:10px;letter-spacing:.24em;margin-top:23px}.hero-art figcaption>span{width:5px;height:5px;border:1px solid var(--gold-light);transform:rotate(45deg)}.home-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);max-width:940px;width:100%;margin:56px auto 0;padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-details>div{display:flex;gap:18px;align-items:center;justify-content:center}.home-details>div+div{border-left:1px solid var(--line)}.home-details b{font-size:26px;color:var(--gold-light);font-family:var(--serif);font-weight:400}.home-details span{font-family:var(--serif);font-size:15px}.home-details small{display:block;color:var(--muted);font-family:var(--sans);font-size:10px;margin-top:2px}
.site-footer{text-align:center;max-width:660px;padding:32px 22px 28px;margin:0 auto;color:#969098;font-size:10px;line-height:1.8}.site-footer p{margin:8px 0}.site-footer small{display:block;font-family:var(--serif);font-size:11px;letter-spacing:.08em;color:#aba1a4}.footer-mark{color:var(--gold-light);font-size:16px}.draw-view{max-width:680px;margin:0 auto;text-align:center;padding:36px 28px}.draw-heading h1{font-size:32px;margin:12px 0 10px;line-height:1.45}.draw-heading>p:last-child{font-size:13px;color:var(--muted)}.selected-cards{display:flex;justify-content:center;gap:16px;min-height:76px;margin:24px 0}.selected-card{min-width:116px;padding:12px 20px;border:1px solid var(--line);border-radius:14px;background:#fffaf6b3;color:var(--ink);font-family:var(--serif)}.selected-card small{display:block;color:var(--gold);font-size:10px;letter-spacing:.16em}.selected-card strong{font-size:19px;font-weight:500}.selected-card .symbol{font-size:24px;color:var(--gold);margin-right:8px}.card-deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:28px auto 22px;perspective:1000px}.draw-card{position:relative;aspect-ratio:3/4.4;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #cdb37b;border-radius:10px;background:var(--ink);color:#d4bd87;box-shadow:0 5px 12px #3d32451a;isolation:isolate;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;font-family:var(--serif);font-size:24px;line-height:1.4}.draw-card::before{content:"";position:absolute;inset:6px;border:1px solid #cfb37365;border-radius:6px;z-index:-1}.draw-card::after{content:"";position:absolute;inset:24%;border:1px solid #cfb37372;border-radius:50%;z-index:-1;transform:rotate(-25deg);box-shadow:9px 0 0 -8px #d2b575}.draw-card:hover{transform:translateY(-5px);box-shadow:0 12px 22px #3d32452a}.draw-card:active{transform:translateY(-2px)}.draw-card span,.draw-card small{position:relative;z-index:1}.draw-card small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.2em;margin-top:12px;color:#d4bd87c7}.draw-card .card-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.draw-card .symbol{font-size:30px}.draw-card[aria-pressed=true]{background:#efe5cd;color:var(--ink);border-color:#947440;transform:translateY(-4px)}.draw-card[aria-pressed=true]::after{opacity:.3}.draw-status{min-height:25px;color:var(--gold);font-family:var(--serif);font-size:14px}.draw-footnote{color:#9a9098;font-size:10px;margin:12px 0 16px}
.report-view{max-width:560px;padding:12px 22px 20px;margin:0 auto}.report-hero{position:relative;overflow:hidden;border:1px solid #e8ddc7;border-radius:22px;background:#fffcf6;text-align:center;padding:30px 24px;margin:4px 0 30px}.report-hero::before{content:"";position:absolute;inset:-65px 0 auto;height:180px;opacity:.09;background:url('/card-art.svg') center 32%/170px no-repeat;pointer-events:none}.report-hero h1{font-size:28px;line-height:1.6;position:relative;margin:8px 0}.report-hero p{position:relative}.report-hero .date,.report-date{font-size:11px;color:#918795;letter-spacing:.1em}.report-subtitle{font-family:var(--serif);color:#847b8b;font-size:13px;line-height:1.9}.section-title{display:flex;align-items:center;gap:10px;margin:28px 1px 12px;color:var(--gold);font-family:var(--serif);font-size:20px;font-weight:400}.section-title .number,.section-title>span:first-child{display:inline-grid;place-items:center;border-radius:5px;background:var(--gold);color:#fffdf6;font-family:var(--sans);font-size:10px;min-width:27px;height:24px;letter-spacing:0;padding:0 5px}.report-card{padding:21px 22px;background:var(--white);border:1px solid #eee6d65e;border-radius:17px;box-shadow:0 5px 20px #463b4f04;margin-bottom:13px;overflow-wrap:anywhere}.report-card h2,.report-card h3{font-size:16px;line-height:1.6;font-weight:500;margin:0 0 13px}.report-card h3:before{content:"";display:inline-block;width:2px;height:12px;background:var(--gold);margin-right:7px}.report-card p{font-size:14px;line-height:1.9;color:#706876;margin:8px 0}.report-card .highlight,.distance-title{font-family:var(--serif);color:#806e8c;font-size:24px;text-align:center;line-height:1.55;margin:18px 0 14px}.report-card .big-label{font-family:var(--serif);font-size:21px;color:var(--ink)}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.pair-card{position:relative;overflow:hidden;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#f8f5ed;min-width:0}.pair-card:after{content:"";width:53px;height:53px;border-radius:50%;border:1px solid #dccba573;box-shadow:0 0 0 4px #dccba526;position:absolute;right:-10px;top:-12px;pointer-events:none}.pair-card .eyebrow,.pair-card small{display:block;font-size:10px;color:#88798e;letter-spacing:.2em}.pair-card strong{display:block;font-family:var(--serif);font-size:21px;font-weight:400;margin-top:8px}.pair-card .symbol{color:#8d7399;margin-right:8px}.pair-card p{font-family:var(--serif);font-size:11px;margin:5px 0 0}.meta-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 6px}.meta-list li,.tag{font-size:12px;color:#77683f;border:1px solid #e8dfc9;border-radius:20px;background:#faf7f0;padding:4px 11px}.advice-list{padding:0;margin:6px 0;list-style:none;counter-reset:advice}.advice-list li{position:relative;padding:11px 0 13px 29px;border-bottom:1px solid #eee8de;counter-increment:advice}.advice-list li:last-child{border-bottom:0;padding-bottom:0}.advice-list li:before{content:counter(advice,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--serif);font-size:11px;color:var(--gold)}.advice-list strong{font-family:var(--serif);font-size:15px;font-weight:500}.report-card .advice-list p{margin:5px 0 0;font-size:14px;line-height:1.9;color:#706876}.name-group{display:flex;gap:16px;align-items:flex-start;padding:12px 0}.name-group+.name-group{border-top:1px solid #eee9de}.name-group>strong,.element-badge{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);font-family:var(--serif);font-size:18px;font-weight:400;color:#a48754}.name-chips{display:flex;flex-wrap:wrap;gap:10px;font-family:var(--serif);font-size:21px;line-height:1.7;color:#706376}.name-chips span{display:inline-block;min-width:24px;text-align:center}.report-card .name-group p{font-size:12px;line-height:1.8;margin:3px 0 0;color:#766b7b}.report-note{font-size:10px!important;color:#a197a0!important;line-height:1.9!important}.report-actions{display:flex;flex-direction:column;gap:11px;margin-top:26px}.report-actions .primary-button,.report-actions .secondary-button{border-radius:12px;letter-spacing:.06em}.report-actions .text-button{margin-top:1px}.report-card ul:not(.advice-list):not(.meta-list){padding-left:18px;font-size:14px;color:#706876;line-height:1.9}.report-card li+li{margin-top:4px}.notice{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:30;max-width:calc(100vw - 32px);width:max-content;padding:12px 20px;border-radius:12px;background:#302737ef;color:#fffaf4;box-shadow:var(--shadow);font-size:12px;line-height:1.7;text-align:center}
.modal{padding:30px;border:1px solid #e7dcca;border-radius:21px;background:#fffcf6;color:var(--ink);width:min(420px,calc(100vw - 30px));max-height:calc(100dvh - 40px);box-shadow:0 25px 90px #291c3b33;overflow:auto;overscroll-behavior:contain}.modal::backdrop{background:#30273766;backdrop-filter:blur(5px)}.modal h2{font-size:26px;line-height:1.5;font-weight:500;margin:8px 0}.dialog-close{display:grid;place-items:center;position:absolute;right:12px;top:10px;width:44px;height:44px;min-width:44px;border:0;border-radius:50%;background:transparent;color:#9e919d;font-size:28px;font-weight:300;line-height:1}.dialog-close:hover{background:#f1eadd}.modal-emblem{display:grid;place-items:center;width:48px;height:52px;margin:0 auto 22px;border:1px solid #c6ac76;border-radius:19px 5px 19px 5px;font-family:var(--serif);font-size:30px;color:var(--gold)}.redeem-modal{text-align:center;padding-top:40px}.modal-description{font-size:12px;color:#918795;line-height:1.9;margin:10px 0 23px}.redeem-modal form{text-align:left}.redeem-modal label{display:block;font-size:12px;color:#827585;margin:17px 0 7px}.redeem-modal input{width:100%;height:50px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:11px 14px;font-size:17px;letter-spacing:.08em;outline-offset:2px}.redeem-modal input::placeholder{font-size:13px;letter-spacing:0;color:#b5abb5}.form-error{font-size:12px;color:#ad4e48;min-height:22px;margin:9px 0}.redeem-modal .primary-button{width:100%;border-radius:10px}.modal-topline{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.modal-topline .dialog-close{position:static;flex-shrink:0;margin:-8px -12px 0 0}.modal-topline h2{margin-bottom:0}.image-modal{width:min(600px,calc(100vw - 24px))}.image-container img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:7px}.image-container figure{margin-bottom:22px}.image-container a,.image-container button{display:flex;min-height:44px;margin:10px auto 20px;align-items:center;justify-content:center;font-size:13px;color:var(--ink)}.image-container .download-link{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:9px 16px;text-decoration:none}.history-list{display:grid;gap:10px}.history-list>button,.history-item{display:block;width:100%;min-height:65px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#f9f5eb;text-align:left;font-family:var(--serif);font-size:16px}.history-list small{display:block;color:#9c8c9e;font-family:var(--sans);font-size:10px;margin-bottom:4px;letter-spacing:.08em}.history-list .empty-state{padding:22px 0;color:#9e939f;font-size:13px;text-align:center}.history-list strong{font-weight:500}.history-list button:hover{background:#eee5d2}
h4{margin:0;font-family:var(--serif);font-weight:500}.result-title{font-family:var(--serif);color:#806e8c;font-size:23px;font-weight:500;line-height:1.6;text-align:center;margin:15px 0 13px}.trigram{display:inline-block;color:#8d7399;font-size:26px;line-height:1.5;margin-top:8px}.pair-card h3{display:inline-block;margin:0 0 0 8px;font-size:20px}.pair-card h3:before{display:none}.pair-card .eyebrow{margin-bottom:3px}.selected-cards .pair-card{min-width:135px;padding:12px 20px;text-align:left}.selected-cards .pair-card p{margin:0;font-size:11px;color:#8b7d8f;font-family:var(--serif)}.card-back-mark{display:grid;place-items:center;width:34px;height:44px;font-family:var(--serif);font-size:28px;color:#e0c995;letter-spacing:0}.card-number{position:absolute!important;top:11px;left:0;right:0;font-family:Georgia,serif;font-size:10px;color:#c6ac73;letter-spacing:.15em}.card-back-caption{position:absolute!important;bottom:18px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.25em;color:#c4ad7d}.report-hero>p:not(.eyebrow){font-family:var(--serif);font-size:14px;line-height:1.9;color:#766b7b;margin-top:10px}.report-hero>p:nth-child(3){font-family:var(--sans);font-size:10px;letter-spacing:.08em;color:#ab9da9;margin-top:4px}.fine-print{font-size:10px!important;color:#a297a1!important;line-height:1.8!important;margin-top:12px!important}.report-end{text-align:center;font-family:var(--serif);font-size:11px;line-height:2;color:#a292a2;margin:24px 9px 10px}.advice-list h4{font-family:var(--serif);font-size:15px;color:#65566e;line-height:1.8}.name-group{display:grid;grid-template-columns:66px minmax(0,1fr);column-gap:12px;row-gap:3px;align-items:center}.name-group>h4{font-family:var(--serif);font-size:12px;color:var(--gold);font-weight:400}.name-group>p{grid-column:2;margin:0}.history-item.secondary-button{display:flex;justify-content:space-between;align-items:center;gap:12px}.history-item.secondary-button>span:first-child{font-family:var(--sans);font-size:11px;color:#9b8c9e}.history-item.secondary-button>span:last-child{font-family:var(--serif);font-size:14px}.image-container figure>.secondary-button{border-radius:8px;text-decoration:none;display:flex;max-width:260px}.image-container figure+figure{padding-top:10px;border-top:1px solid var(--line)}
.reveal-view{max-width:650px;margin:0 auto;padding:29px 28px 20px;text-align:center}.reveal-heading h1{font-size:29px;line-height:1.55;margin:14px 0 11px;letter-spacing:.02em}.reveal-heading>p:last-child{max-width:440px;margin:0 auto;color:#8c7f91;font-family:var(--serif);font-size:14px;line-height:2}.reveal-cards{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(100%,480px);margin:30px auto 26px;padding:18px 5px;perspective:1000px}.reveal-cards::before{content:"";position:absolute;z-index:-2;width:255px;height:255px;top:25px;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 36% 30%,#e2cf9952,#e2cf9926 62%,#d3b8780d 68%);border:1px solid #d5bd8540;box-shadow:0 0 0 10px #dcc58e0a}.reveal-cards::after{content:"";position:absolute;z-index:2;pointer-events:none;left:10%;right:10%;height:48px;bottom:-2px;border:1px solid #a85c5970;border-top-color:transparent;border-left-color:transparent;border-radius:50%;transform:rotate(-9deg)}.reveal-cards .pair-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:285px;padding:26px 17px 30px;background:linear-gradient(145deg,#fffbf1,#f1e8d2);border:1px solid #c8b078;border-radius:16px;box-shadow:0 12px 20px #5e4d5720;overflow:hidden}.reveal-cards .pair-card::before{content:"";position:absolute;inset:7px;border:1px solid #d9c796;border-radius:11px;pointer-events:none}.reveal-cards .pair-card::after{width:104px;height:104px;top:68px;left:50%;right:auto;transform:translateX(-50%);border-color:#ceb77c4f;box-shadow:0 0 0 5px #d1bd8d16}.reveal-cards .pair-card .eyebrow{position:relative;z-index:1;font-size:10px;letter-spacing:.22em;color:#a08b61}.reveal-cards .pair-card .trigram{position:relative;z-index:1;display:block;font-size:47px;line-height:1.3;margin:26px 0 10px;color:#78627e}.reveal-cards .pair-card h3{position:relative;z-index:1;display:block;font-size:23px;margin:0 0 8px;line-height:1.5;white-space:nowrap}.reveal-cards .pair-card p{position:relative;z-index:1;font-family:var(--serif);font-size:12px;line-height:1.9;color:#9a8768;margin:5px 0 0}.reveal-cards .pair-card .card-poem,.reveal-cards .pair-card .signature-poem{font-family:var(--serif);font-size:12px;color:#706174;line-height:1.95;margin-top:13px;max-width:100%;word-break:normal;line-break:strict;text-wrap:balance}.card-poem,.signature-poem{font-family:var(--serif);font-size:12px;line-height:1.9;color:#938096}.reveal-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:28px}.reveal-actions .primary-button{width:min(100%,330px)}.reveal-actions .text-button{font-size:12px}.card-reveal{backface-visibility:hidden;transform-origin:50% 50%;animation:card-reveal .72s cubic-bezier(.16,.68,.23,1) both}.reveal-cards>.card-reveal:nth-child(2){animation-delay:.13s}@keyframes card-reveal{0%{opacity:0;transform:perspective(800px) rotateY(-82deg) translateY(9px) scale(.94)}38%{opacity:1}78%{transform:perspective(800px) rotateY(4deg) translateY(0) scale(1.01)}100%{opacity:1;transform:perspective(800px) rotateY(0) translateY(0) scale(1)}}
.report-card .relationship-list{display:block;list-style:none;padding:0!important;margin:11px 0 0;font-size:14px;line-height:1.9;color:#706876}.relationship-list li{position:relative;padding:10px 0 10px 16px;border-bottom:1px solid #eee8de;background:none;border-radius:0}.relationship-list li::before{content:"";position:absolute;top:21px;left:0;width:4px;height:4px;border-radius:50%;background:#b69b67}.relationship-list li:last-child{padding-bottom:0;border-bottom:0}.report-card .relationship-list li+li{margin-top:4px}
@keyframes arrive{from{opacity:0;transform:translateY(14px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(min-width:1450px){.home-view{padding-top:60px}.hero-art{max-width:430px}.site-header{padding-top:40px}}
@media(max-width:760px){.site-header{padding:20px 24px}.header-note{font-size:10px;letter-spacing:.06em}.brand{font-size:20px}.brand small{font-size:7px;letter-spacing:.13em}.brand-seal{width:28px;height:33px;font-size:20px}.home-view{column-gap:12px;padding:26px 24px 10px;grid-template-columns:1.15fr 1fr}.hero-copy h1{font-size:36px}.hero-art{padding:10px 12px 0}.hero-lead{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:6px;margin-top:25px}.home-details{margin-top:40px;padding:22px 0}.home-details>div{gap:9px}.home-details b{font-size:21px}.home-details span{font-size:13px}.home-details small{font-size:9px}.hero-art figcaption{font-size:8px;letter-spacing:.1em}}
@media(max-width:560px){.site-header{padding:19px 22px 15px}.header-note{display:none}.brand{font-size:19px}.brand small{font-size:7px;letter-spacing:.14em}.home-view{display:flex;flex-direction:column;padding:22px 25px 8px;text-align:center}.hero-copy{width:100%;position:relative;z-index:1}.hero-copy .eyebrow{font-size:10px;letter-spacing:.17em}.hero-copy h1{font-size:38px;line-height:1.3;letter-spacing:.005em;margin:20px 0 16px}.mobile-break{display:block}.hero-lead{font-size:14px;line-height:1.9}.hero-art{order:3;width:205px;padding:0 16px;margin-top:24px}.hero-copy{display:contents}.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-lead{order:0}.hero-actions{order:1;align-items:center;justify-content:center;gap:2px;margin-top:25px;width:100%}.hero-actions .primary-button{width:100%;max-width:320px;min-height:52px}.hero-actions .text-button{font-size:13px}.home-status{order:2;margin-top:5px;font-size:10px}.hero-art figcaption{margin-top:12px;font-size:8px;letter-spacing:.16em}.art-halo{inset:8% 0 12%;border-radius:90px 90px 16px 16px}.home-details{order:4;margin-top:27px;padding:18px 0;gap:4px}.home-details>div{flex-direction:column;gap:3px}.home-details b{font-size:16px;line-height:1.2}.home-details span{font-size:12px;line-height:1.65}.home-details small{font-size:8px;line-height:1.8;white-space:nowrap}.site-footer{padding:23px 20px 25px;font-size:9px}.site-footer small{font-size:10px}.draw-view{padding:23px 20px 18px}.draw-heading h1{font-size:27px;margin-top:13px}.draw-heading>p:last-child{font-size:12px}.selected-cards{gap:10px;margin:20px 0;min-height:68px}.selected-card{padding:10px 17px;min-width:106px}.card-deck{gap:11px;margin-top:23px}.draw-card{border-radius:8px;font-size:22px;aspect-ratio:3/4.6}.draw-card::before{inset:4px;border-radius:5px}.draw-card small{font-size:8px;letter-spacing:.05em;margin-top:9px}.draw-card .symbol{font-size:22px}.draw-card::after{inset:24% 19%}.report-view{padding:10px 16px 10px}.report-hero{padding:27px 20px;margin-bottom:24px}.report-hero h1{font-size:25px}.report-card{padding:19px 18px;border-radius:16px}.report-card h3{font-size:15px}.report-card p{font-size:14px;line-height:1.9;color:#706876}.report-grid{gap:9px}.pair-card{padding:13px 12px}.pair-card strong{font-size:20px}.section-title{font-size:19px;margin-top:25px}.report-card .highlight,.distance-title{font-size:23px}.modal{padding:25px 23px}.redeem-modal{padding-top:38px}.image-modal{padding:23px 18px}.modal h2{font-size:23px}.modal-topline .eyebrow{font-size:10px}.name-group{gap:13px}.name-chips{font-size:20px;gap:8px}}
@media(max-width:350px){.site-header{padding:17px 18px 12px}.home-view{padding:18px 19px 8px}.hero-copy h1{font-size:33px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em}.hero-art{width:184px;margin-top:22px}.hero-lead{font-size:13px}.home-details small{font-size:7px}.draw-view{padding-left:15px;padding-right:15px}.card-deck{gap:9px}.draw-card{font-size:19px}.draw-card small{font-size:7px}.report-view{padding-left:12px;padding-right:12px}.report-card{padding:18px 16px}.pair-card{padding:12px 10px}.name-chips{font-size:18px}.header-note{display:none}}
@media(max-width:560px){.reveal-view{padding:22px 20px 16px}.reveal-heading h1{font-size:25px;margin-top:13px}.reveal-heading>.eyebrow{font-size:10px;letter-spacing:.16em}.reveal-heading>p:last-child{font-size:12px;line-height:1.95;max-width:300px}.reveal-cards{gap:14px;margin:22px auto;padding:14px 2px}.reveal-cards .pair-card{min-height:258px;padding:22px 12px 25px;border-radius:13px}.reveal-cards .pair-card::before{inset:6px;border-radius:9px}.reveal-cards .pair-card::after{top:63px;width:86px;height:86px}.reveal-cards .pair-card .eyebrow{font-size:9px;letter-spacing:.14em}.reveal-cards .pair-card .trigram{font-size:39px;margin:24px 0 10px}.reveal-cards .pair-card h3{font-size:20px}.reveal-cards .pair-card p{font-size:11px}.reveal-cards .pair-card .card-poem,.reveal-cards .pair-card .signature-poem{font-size:11px;margin-top:10px}.reveal-actions{margin-top:20px}.reveal-cards::before{width:220px;height:220px}.reveal-cards::after{bottom:0;height:40px}.selected-cards .card-poem{max-width:215px;font-size:11px}}@media(max-width:350px){.reveal-view{padding-left:16px;padding-right:16px}.reveal-heading h1{font-size:22px}.reveal-cards{gap:12px}.reveal-cards .pair-card{min-height:242px;padding:20px 10px}.reveal-cards .pair-card h3{font-size:18px}.reveal-cards .pair-card .eyebrow{font-size:8px}.reveal-cards .pair-card .trigram{font-size:35px}.reveal-cards .pair-card::after{width:75px;height:75px}.reveal-cards .pair-card .card-poem,.reveal-cards .pair-card .signature-poem{font-size:11px;line-height:1.9}.reveal-cards::before{width:195px;height:195px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body{background:#fff;color:#222}.site-header,.site-footer,.report-actions,.notice,dialog,.skip-link{display:none!important}.report-view{max-width:none;padding:0}.report-card,.report-hero{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.report-hero::before{display:none}.report-card p{color:#444}.section-title{break-after:avoid}}

.draw-controls{max-width:528px;margin:0 auto 14px;padding:10px 16px;border:1px solid #e0d4bd;border-radius:12px;background:#faf5e9;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#88714b;font-size:12px}.draw-controls[hidden]{display:none}.draw-controls .secondary-button{min-height:44px;padding:8px 15px;font-size:14px;white-space:nowrap}@media(max-width:560px){.draw-controls{margin:0 16px 10px;padding:8px 12px;font-size:11px}}
.gender-view { max-width: 540px; }
.gender-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 26px auto 18px; max-width: 400px; }
.gender-option.secondary-button { flex-direction: column; gap: 8px; min-height: 128px; padding: 18px 10px; border-radius: 12px; }
.gender-option > span { font-size: 32px; line-height: 1.35; }
.gender-option > small { font-size: 12px; color: var(--muted); }
.gender-view .draw-footnote { margin-bottom: 14px; }
/* 1.1: lead with the reading, then make each concrete clue easy to scan. */
.report-hero-current{padding:27px 20px 24px;margin-bottom:24px;background:linear-gradient(145deg,#fffcf6,#f3eadb)}
.report-hero-current::before{opacity:.15;inset:-71px -5px auto auto;width:165px;height:250px;background-size:155px;transform:rotate(10deg)}
.report-hero-current h1{font-size:28px;margin:7px 0 8px;letter-spacing:.12em}
.report-hero-current>.report-date{font-size:11px!important;color:#897c8d!important;letter-spacing:.025em!important}
.timing-row{display:flex;gap:15px;align-items:center;margin:21px 0 16px}
.timing-mark{display:grid;place-items:center;flex:0 0 62px;height:62px;border:1px solid #d4b57a;border-radius:50%;font-family:var(--serif);font-size:19px;color:#8b709e;box-shadow:inset 0 0 0 5px #fffcf6}
.report-card .timing-label{font-size:12px;line-height:1.5;margin:0 0 9px;color:#978899}
.zodiac-years{display:flex;flex-wrap:wrap;align-items:center;column-gap:9px;row-gap:3px;font-family:var(--serif);font-size:22px;line-height:1.7;color:#393049}
.zodiac-years i{font-size:12px;font-style:normal;color:#b59a71}.zodiac-years span{white-space:nowrap}
.occupation-row{display:flex;gap:17px;align-items:baseline;margin:20px 0 17px;font-family:var(--serif);font-size:19px;line-height:1.8}
.occupation-row>span{flex:0 0 2em;color:#b38b45}.occupation-row strong{font-weight:400;color:#393049}
.partner-type{font-size:15px;color:#8a7097;line-height:1.7}
.element-groups{display:grid;gap:11px;margin:20px 0 3px}.element-row{display:flex;gap:17px;align-items:center;padding:17px 18px;border-radius:16px;background:#f2eadf}
.element-water{background:linear-gradient(110deg,#edf5fa,#dceef7);--element-color:#3b789a}.element-earth{background:linear-gradient(110deg,#fcf3e7,#f6e5d3);--element-color:#9b7546}.element-fire{background:linear-gradient(110deg,#fff1eb,#f9e2dc);--element-color:#af6556}.element-wood{background:linear-gradient(110deg,#eff5eb,#e0ebda);--element-color:#6c875c}.element-metal{background:linear-gradient(110deg,#f6f3e8,#ede8d4);--element-color:#97864b}
.element-label{flex:0 0 29px;text-align:center;color:var(--element-color)}.element-label b{display:block;font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.4}.element-label small{display:block;font-size:10px;letter-spacing:.18em;margin-top:6px}
.character-tiles{display:flex;gap:9px;min-width:0;flex:1}.character-tiles>span{display:grid;place-items:center;flex:1;max-width:61px;min-width:0;height:67px;background:#fffdfb;border-radius:11px;box-shadow:0 4px 11px #5c494106;font-family:var(--serif);font-size:26px;color:#393049}
.guidance-header{text-align:center;margin:23px 0 23px}.guidance-mark{display:grid;place-items:center;width:89px;height:89px;margin:0 auto 21px;border:1px solid #d7b778;border-radius:50%;outline:1px solid #d7b77870;outline-offset:-7px;font-family:var(--serif);font-size:33px;color:#8b709e}.guidance-header h4{font-family:var(--serif);font-size:19px;color:#393049;line-height:1.7}
.report-card .guidance-list{display:grid;gap:10px;padding:0!important;margin:0;list-style:none}.report-card .guidance-list>li{margin:0;padding:16px 17px;border-radius:13px;background:#f6f1f6}.guidance-list h4{font-family:var(--serif);font-size:16px;color:#54415e;line-height:1.6}.report-card .guidance-list p{margin:7px 0 0;font-size:14px;line-height:1.9}
.relationship-current li{padding:17px!important;background:#f6f1f6;border:0;border-radius:13px}.relationship-current li::before{display:none}.report-card .relationship-current li+li{margin-top:11px}
@media(max-width:560px){.report-hero-current h1{font-size:25px}.timing-row{gap:12px}.timing-mark{flex-basis:54px;height:54px;font-size:16px}.zodiac-years{font-size:20px;column-gap:7px}.occupation-row{font-size:17px;gap:14px}.element-row{padding:15px 13px;gap:13px}.element-label{flex-basis:26px}.element-label b{font-size:26px}.character-tiles{gap:7px}.character-tiles>span{height:59px;font-size:25px}.guidance-header h4{font-size:18px}}
@media(max-width:350px){.element-row{gap:10px;padding:13px 10px}.element-label{flex-basis:23px}.element-label b{font-size:24px}.character-tiles{gap:6px}.character-tiles>span{height:53px;font-size:23px}.timing-mark{flex-basis:46px;height:46px;font-size:15px}.zodiac-years{font-size:18px;column-gap:6px}.guidance-list h4{font-size:15px}.report-card .guidance-list>li{padding:14px}.report-hero-current h1{font-size:23px}}
