@font-face{font-family:"Noto Serif SC";src:local("Noto Serif SC"),url("./assets/fonts/noto-serif-sc-site.woff2?v=20260814") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Noto Sans SC";src:local("Noto Sans SC"),url("./assets/fonts/noto-sans-sc-site.woff2?v=20260814") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#201a15;--muted:#766c60;--paper:#f3efe4;--cream:#e7deca;--red:#963c2f;--red2:#6f2922;--gold:#b8863c;--dark:#28211b;--line:rgba(61,47,37,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;background-image:radial-gradient(circle at 10% 10%,rgba(150,60,47,.05),transparent 24%),linear-gradient(rgba(67,51,39,.025) 1px,transparent 1px);background-size:auto,100% 6px}button,input,textarea{font:inherit}button,a{color:inherit}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:#fff;padding:10px 16px}.skip-link:focus{top:12px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,70px);border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-seal{width:34px;height:34px;border:1px solid var(--red);color:var(--red);display:grid;place-items:center;font-family:"Noto Serif SC",serif;font-weight:700}.brand strong{display:block;font-family:"Noto Serif SC",serif;font-size:20px;letter-spacing:.16em}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.22em;margin-top:2px}.topbar nav{display:flex;gap:34px}.topbar nav a{font-size:13px;text-decoration:none;color:var(--muted)}.top-action{background:var(--red);color:#fff;text-decoration:none;padding:11px 22px;font-size:13px;letter-spacing:.08em}
.hero{min-height:calc(100svh - 70px);max-width:1440px;margin:auto;padding:clamp(36px,6vh,70px) clamp(20px,5vw,72px);display:grid;grid-template-columns:1fr .7fr 1.2fr;align-items:center;gap:clamp(26px,4vw,68px);position:relative}.overline{text-transform:uppercase;font-size:12px;letter-spacing:.22em;color:var(--red);display:flex;align-items:center;gap:10px}.overline span{width:26px;border-top:1px solid}.hero-copy h1{font:900 clamp(48px,6vw,88px)/1.1 "Noto Serif SC",serif;letter-spacing:.04em;margin:22px 0}.hero-copy h1 em{color:var(--red);font-style:normal}.lead{max-width:510px;color:var(--muted);font:500 15px/2 "Noto Serif SC",serif}.trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.trust span{border:1px solid var(--line);padding:6px 10px;font-size:10px;color:var(--muted)}
.coin-wrap{text-align:center;align-self:start;margin-top:5vh;position:relative}.coin{width:clamp(150px,15vw,216px);aspect-ratio:1;margin:auto;border-radius:50%;position:relative;background:radial-gradient(circle at 42% 38%,#d9ad58 0 9%,#bc8434 38%,#996423 71%,#7f501d 100%);border:7px double rgba(94,55,15,.7);box-shadow:inset 0 0 0 3px #e1bd72,inset 0 0 25px rgba(74,39,6,.35),0 20px 36px rgba(72,45,24,.18)}.coin:before,.coin:after{content:"";position:absolute;border-radius:50%;inset:16%;border:1px solid rgba(96,52,10,.42)}.coin:after{inset:25%;border:1px dashed rgba(96,52,10,.38)}.coin i{position:absolute;width:26%;height:26%;left:37%;top:37%;background:var(--paper);border:5px solid #754919;box-shadow:inset 0 0 7px rgba(0,0,0,.2)}.coin-char{position:absolute;z-index:2;font:700 clamp(20px,2vw,29px) "Noto Serif SC",serif;color:#613812;text-shadow:0 1px rgba(255,231,167,.5)}.coin-char.top{top:10%;left:44%}.coin-char.right{right:12%;top:42%}.coin-char.bottom{bottom:9%;left:44%}.coin-char.left{left:12%;top:42%}.coin-shadow{height:15px;width:70%;border-radius:50%;background:rgba(52,32,18,.15);filter:blur(7px);position:absolute;left:15%;bottom:18px}.coin-wrap p{font:500 11px "Noto Serif SC",serif;letter-spacing:.2em;color:var(--muted);margin-top:26px}
.coin-real{display:block;width:clamp(168px,16.5vw,238px);height:auto;margin:auto;filter:drop-shadow(0 20px 18px rgba(43,27,16,.2));transform:rotate(-1.2deg)}.coin-wrap .coin-shadow{display:none}
.cast-card{background:rgba(255,253,247,.82);border:1px solid var(--line);padding:clamp(24px,3vw,42px);box-shadow:0 28px 70px rgba(63,43,28,.12)}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.card-heading span{font-size:11px;color:var(--red);letter-spacing:.2em}.card-heading h2{font:700 27px "Noto Serif SC",serif;margin:5px 0}.card-heading>small{color:var(--muted);font-size:10px}.question-field{display:block;position:relative}.question-field>span,fieldset legend{font-size:12px;font-weight:600}.question-field small{font-weight:400;color:var(--muted);margin-left:6px}.question-field textarea{width:100%;margin-top:8px;padding:13px 44px 10px 14px;border:1px solid var(--line);background:#f9f6ee;resize:none;outline:none;line-height:1.65}.question-field textarea:focus,.number-entry:focus-within{border-color:var(--red)}.question-field>b{position:absolute;right:10px;bottom:9px;font-size:9px;color:var(--muted);font-weight:400}fieldset{border:0;padding:0;margin:19px 0 0}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:9px}.number-entry{border:1px solid var(--line);background:#f9f6ee;padding:10px;display:block}.number-entry>span{display:block;font-size:10px;color:var(--muted)}.number-entry input{width:100%;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;padding:7px 0 5px;font:700 clamp(24px,3vw,34px)/1 "Noto Serif SC",serif;letter-spacing:.08em}.number-entry small{font-size:9px;color:#9a9084}.number-entry.has-error{border-color:var(--red);background:#fff5f2}.error{min-height:18px;color:var(--red);font-size:11px;margin:7px 0}.cast-actions{display:grid;grid-template-columns:1fr auto;gap:10px}.cast-actions button{height:60px;border:0;cursor:pointer}.primary{background:var(--red);color:#fff;font:600 21px "Noto Serif SC",serif;letter-spacing:.12em}.primary b{margin-left:14px}.secondary{background:transparent;border:1px solid var(--line)!important;padding:0 18px}.loading{display:none}.cast-card.is-casting .idle{display:none}.cast-card.is-casting .loading{display:inline}.cast-card.is-casting button{pointer-events:none;opacity:.75}
.result{scroll-margin-top:16px;background:var(--dark);color:#f5efe2}.result[hidden]{display:none}.result-top,.three-c,.derived,.calculation,.result-actions{max-width:1320px;margin:auto}.result-top{min-height:360px;padding:54px clamp(20px,5vw,70px);display:grid;grid-template-columns:.8fr .7fr 1.2fr;align-items:center;gap:60px}.overline.light{color:#c99c62}.result-top h2{font:900 clamp(80px,11vw,150px)/1 "Noto Serif SC",serif;margin:13px 0}.result-top h2 small{font-size:20px;margin-left:12px}.result-top>div>p{color:#afa69b}.result-summary{border-left:1px solid rgba(255,255,255,.2);padding-left:45px}.result-summary span{font:700 clamp(26px,3vw,42px) "Noto Serif SC",serif}.result-summary p{font-size:15px;line-height:2;margin-top:20px}.hexagram-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.hexagram{display:flex;flex-direction:column;gap:11px;width:180px}.hex-line{height:15px;display:flex;gap:18px;opacity:.12;transform:scaleX(.08);transform-origin:center;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .3s ease}.hex-line i{flex:1;background:#d7bd8b;transition:background .3s ease,box-shadow .3s ease}.hex-line.yang i:last-child{display:none}.hex-line.built{opacity:1;transform:scaleX(1)}.hex-line.changing.built i{background:#bc5648;box-shadow:0 0 0 3px rgba(188,86,72,.15)}.casting-status{min-height:18px;margin:0!important;display:flex;align-items:center;gap:9px;font-size:10px!important;letter-spacing:.15em;color:#c99c62!important;opacity:0;transition:opacity .25s}.casting-status i{width:6px;height:6px;border-radius:50%;background:#bc5648;box-shadow:0 0 0 4px rgba(188,86,72,.14)}.result.is-casting .casting-status{opacity:1}.result-top>div:first-child,.result-summary{transition:opacity .5s ease,transform .5s ease}.result.is-casting .result-top>div:first-child,.result.is-casting .result-summary{opacity:.08;transform:translateY(8px);pointer-events:none}.result.is-casting>.three-c,.result.is-casting>.derived,.result.is-casting>.calculation,.result.is-casting>.result-actions{display:none}.result.is-revealed>.three-c,.result.is-revealed>.derived,.result.is-revealed>.calculation,.result.is-revealed>.result-actions{animation:resultReveal .55s ease both}@keyframes resultReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.three-c{padding:0 clamp(20px,5vw,70px) 55px;display:grid;grid-template-columns:1fr repeat(3,1.25fr);border-top:1px solid rgba(255,255,255,.15)}.section-title{padding:38px 28px 30px 0}.section-title p{text-transform:uppercase;font-size:11px;letter-spacing:.22em;color:#b17855;margin:0 0 10px}.section-title h3{font:700 29px/1.35 "Noto Serif SC",serif;margin:0 0 10px}.section-title>span{font-size:11px;color:var(--muted)}.three-c article{padding:38px 28px;border-left:1px solid rgba(255,255,255,.15)}.three-c article>b{font:500 11px serif;color:#c99c62}.three-c article>span{display:block;margin-top:22px;color:#c6bcb0;font-size:11px;letter-spacing:.12em}.three-c article h4{font:600 20px "Noto Serif SC",serif;margin:10px 0}.three-c article p{color:#afa69b;font-size:13px;line-height:1.9}
.derived{background:#e8dfcd;color:var(--ink);display:grid;grid-template-columns:.7fr 1.6fr .9fr;padding:0 clamp(20px,5vw,70px)}.derived-main{padding:38px;border-left:1px solid var(--line)}.derived-main>p{font:500 16px/2 "Noto Serif SC",serif;margin:0}.path{display:flex;align-items:center;gap:16px;margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}.path span{font-size:10px;color:var(--muted)}.path b{display:block;font-size:13px;color:var(--ink);margin-top:5px}.path i{color:var(--red)}.derived aside{padding:38px 0 38px 30px;border-left:1px solid var(--line)}.derived aside strong{font:600 16px "Noto Serif SC",serif}.derived aside p{font-size:13px;line-height:1.8}.derived aside small{font-size:10px;color:var(--muted);line-height:1.7}.calculation{padding:20px clamp(20px,5vw,70px);border-top:1px solid rgba(255,255,255,.15)}.calculation summary{cursor:pointer;color:#d0c4b5;font-size:12px}.calculation div{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:15px}.calculation p{font-size:12px;color:#afa69b}.result-actions{padding:25px clamp(20px,5vw,70px) 48px;display:flex;justify-content:flex-end;gap:10px}.result-actions button{padding:12px 25px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer}.result-actions .solid{background:#f3efe4;color:var(--ink)}
.method,.history{max-width:1320px;margin:auto;padding:70px clamp(20px,5vw,70px)}.method{display:grid;grid-template-columns:.8fr 2.5fr}.method>.section-title{grid-row:span 2}.steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.steps article{padding:28px;border-right:1px solid var(--line)}.steps article:last-child{border:0}.steps b{color:var(--red);font:700 24px "Noto Serif SC",serif}.steps h4{font:700 19px "Noto Serif SC",serif;margin:14px 0 8px}.steps p{font-size:12px;color:var(--muted);line-height:1.8}.trigrams{display:grid;grid-template-columns:repeat(8,1fr);border:1px solid var(--line);border-top:0}.trigrams span{text-align:center;padding:14px 5px;font:500 13px "Noto Serif SC",serif;border-right:1px solid var(--line)}.history{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 2.5fr}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.history-item{background:#e8dfcd;border:0;text-align:left;padding:20px;cursor:pointer;min-height:150px}.history-item span{font-size:10px;color:var(--red)}.history-item h4{font:700 31px "Noto Serif SC",serif;margin:15px 0 5px}.history-item p{font-size:11px;color:var(--muted)}.empty{color:var(--muted)}footer{border-top:1px solid var(--line);padding:30px clamp(20px,5vw,70px);display:grid;grid-template-columns:.7fr 2fr auto;gap:30px;align-items:center}footer strong{font:700 20px "Noto Serif SC",serif;letter-spacing:.15em}footer p{font-size:10px;color:var(--muted)}footer a{font-size:11px}
@media(max-width:1050px){.hero{grid-template-columns:1fr 1fr}.coin-wrap{display:none}.result-top{grid-template-columns:1fr .6fr}.result-summary{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:25px 0 0}.three-c{grid-template-columns:1fr 1fr}.three-c .section-title{grid-column:1/-1}.derived{grid-template-columns:1fr 2fr}.derived aside{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:25px 0}.method,.history{grid-template-columns:1fr}.method>.section-title{grid-row:auto}.history-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.topbar{height:58px;padding:0 16px}.brand strong{font-size:17px}.brand small,.topbar nav,.top-action{display:none}.hero{min-height:auto;display:block;padding:32px 16px 28px}.hero-copy h1{font-size:47px;margin:16px 0}.lead{font-size:13px;line-height:1.8}.trust{margin:15px 0 24px}.cast-card{padding:20px}.card-heading{margin-bottom:18px}.number-grid{gap:6px}.number-entry{padding:8px}.number-entry input{font-size:27px}.number-entry small{display:none}.cast-actions{grid-template-columns:1fr}.primary{height:64px!important;font-size:22px}.secondary{height:42px!important}.result-top{display:grid;grid-template-columns:1fr .65fr;padding:38px 20px;gap:20px;min-height:0}.result-top h2{font-size:76px}.hexagram{width:120px;gap:8px}.hex-line{height:11px;gap:14px}.result-summary{grid-column:1/-1}.three-c{display:block;padding:0 20px 25px}.three-c article{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:25px 0}.derived{display:block;padding:0 20px}.derived-main{padding:25px 0;border-left:0;border-top:1px solid var(--line)}.path{gap:10px;justify-content:space-between}.derived aside{padding:22px 0}.calculation div{grid-template-columns:1fr}.result-actions{padding:20px;justify-content:stretch}.result-actions button{flex:1}.method,.history{padding:50px 20px}.steps{display:block}.steps article{border-right:0;border-bottom:1px solid var(--line)}.trigrams{grid-template-columns:repeat(4,1fr)}.trigrams span{border-bottom:1px solid var(--line)}.history-grid{grid-template-columns:1fr 1fr}.history-item{min-height:130px}footer{grid-template-columns:1fr;padding:25px 20px}.question-field textarea{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 2.1 content, provenance and performance refinements */
.coin-real{aspect-ratio:884/900;height:auto;background:url("./assets/qianlong-tongbao.webp?v=20260809-1") center/contain no-repeat}.coin-wrap p{letter-spacing:.12em}.coin-wrap p a{display:block;width:max-content;margin:8px auto 0;color:var(--red);font:500 9px "Noto Sans SC",sans-serif;letter-spacing:.08em;text-underline-offset:3px}.result-question{display:flex;align-items:flex-start;gap:10px;max-width:340px;margin-top:18px!important;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);font-size:11px!important;line-height:1.7}.result-question span{flex:0 0 auto;color:#c99c62}.result-question b{font-weight:400;color:#d8cfc2}.three-c blockquote{margin:14px 0 12px;padding:10px 12px;border-left:2px solid #bc5648;background:rgba(255,255,255,.04);color:#ddd0bd;font:500 12px/1.75 "Noto Serif SC",serif}

@media(max-width:700px){.hero{padding:22px 16px 18px}.hero-copy h1{font-size:42px;line-height:1.04;margin:10px 0}.lead{font-size:12px;line-height:1.65;margin:8px 0}.trust{margin:10px 0 16px;gap:5px}.trust span{padding:5px 7px;font-size:9px}.cast-card{padding:17px}.card-heading{margin-bottom:14px}.card-heading h2{font-size:25px}.question-field textarea{margin-top:6px;padding-top:10px;padding-bottom:8px}fieldset{margin-top:14px}.number-grid{margin-top:7px}.error{min-height:14px;margin:4px 0}.result-question{max-width:none}}

@media(prefers-reduced-motion:reduce){.hex-line,.hex-line i,.result-top>div:first-child,.result-summary,.casting-status{transition:none!important}.result.is-revealed>.three-c,.result.is-revealed>.derived,.result.is-revealed>.calculation,.result.is-revealed>.result-actions{animation:none!important}.coin-real{transform:none}}

/* Inline deep-reading card deck */
.result-top,.reading-deck,.derived,.calculation,.result-actions{max-width:1320px;margin:auto}
.result.is-casting>.reading-deck{display:none}
.result.is-revealed>.reading-deck{animation:resultReveal .55s ease both}
.reading-deck{padding:38px clamp(20px,5vw,70px) 46px;border-top:1px solid rgba(255,255,255,.15);overflow:hidden}
.reading-deck-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.reading-deck-heading p{font-size:10px;letter-spacing:.2em;color:#b17855;margin:0 0 6px}
.reading-deck-heading h3{font:700 27px/1.3 "Noto Serif SC",serif;margin:0}
.reading-deck-heading>span{font-size:10px;color:#81796f}
.deck-shell{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:16px}
.deck-stage{height:385px;position:relative;outline:none;touch-action:pan-y;isolation:isolate}
.reading-card{position:absolute;left:50%;top:13px;width:276px;height:346px;margin-left:-138px;padding:24px 22px;border:1px solid rgba(215,189,139,.26);border-radius:15px;background:linear-gradient(145deg,rgba(71,61,53,.94),rgba(39,34,30,.98));box-shadow:0 18px 42px rgba(0,0,0,.18);transform-origin:50% 115%;cursor:pointer;overflow:hidden;color:#eee5d8;will-change:transform,opacity;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.reading-card::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(192,137,94,.08),transparent 46%);pointer-events:none}
.reading-card.is-active{border-color:#a34b40;background:linear-gradient(145deg,rgba(84,62,52,.98),rgba(43,35,30,.99));box-shadow:0 24px 60px rgba(0,0,0,.32),0 0 0 1px rgba(163,75,64,.24)}
.reading-card.is-hidden{pointer-events:none}
.reading-card:focus-visible{outline:2px solid #d7bd8b;outline-offset:4px}
.reading-card>span{display:block;font:500 11px/1 serif;color:#c99c62;letter-spacing:.1em}
.reading-card h4{font:600 24px/1.3 "Noto Serif SC",serif;margin:13px 0 5px}
.reading-card small{display:block;min-height:18px;color:#b7aa9b;font:500 12px/1.5 "Noto Serif SC",serif}
.reading-card strong{display:block;margin:18px -8px 14px;padding:12px 10px;border-radius:8px;background:rgba(143,66,54,.22);color:#ead9c6;font-size:12px;line-height:1.75;font-weight:600}
.reading-card p{margin:0;color:#b9afa3;font-size:12px;line-height:1.9;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.deck-arrow{position:relative;width:44px;height:44px;border:1px solid rgba(215,189,139,.48);border-radius:50%;background:#211c18;color:#d7bd8b;display:grid;place-items:center;cursor:pointer;z-index:30;transition:.25s}
.deck-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.deck-arrow:hover,.deck-arrow:focus-visible{border-color:#bc5648;color:#fff;background:rgba(155,64,53,.18);outline:none}
.deck-dots{display:flex;justify-content:center;gap:13px;margin:1px 0 28px}
.deck-dots button{width:8px;height:8px;padding:0;border:1px solid #8b8277;border-radius:50%;background:transparent;cursor:pointer;transition:.25s}
.deck-dots button.is-active{background:#d7bd8b;border-color:#d7bd8b;transform:scale(1.28)}
.reading-visuals{min-height:244px;border:1px solid rgba(215,189,139,.23);border-radius:15px;background:rgba(17,15,13,.2);position:relative;overflow:hidden}
.reading-visual{display:none;padding:25px 28px;color:#d7cec1}
.reading-visual.is-active{display:block;animation:visualIn .36s ease both}
@keyframes visualIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.reading-visual>header{display:flex;align-items:center;gap:10px;margin-bottom:22px}.reading-visual>header span{color:#c99c62;font:500 11px serif}.reading-visual>header h4{font:600 17px "Noto Serif SC",serif;margin:0}
.condition-map{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr;align-items:center}.condition-map article{text-align:center;padding:19px;border:1px solid rgba(215,189,139,.24);min-height:112px}.condition-map b,.risk-map b,.ledger-map b{display:block;font:600 15px "Noto Serif SC",serif}.condition-map p,.risk-map b,.ledger-map b{color:#aaa095;font-size:11px;line-height:1.7;font-family:inherit}.condition-map>i,.risk-map>i{text-align:center;color:#b17855;font-style:normal}
.relation-map{display:grid;place-items:center;max-width:580px;margin:auto}.relation-map article{width:100%;padding:13px 20px;text-align:center;border:1px solid rgba(215,189,139,.3)}.relation-map article.self{border-color:#9b4035}.relation-map span,.risk-map span,.ledger-map span,.balance-map span,.branch-map span{display:block;color:#b17855;font-size:10px;letter-spacing:.1em}.relation-map b{font:500 13px/1.7 "Noto Serif SC",serif}.relation-map>i{width:1px;height:16px;background:linear-gradient(#c99c62,#9b4035)}.visual-note{text-align:center;color:#857d73;font-size:10px;margin:15px 0 0}
.signal-map{display:grid;grid-template-columns:repeat(3,1fr);position:relative;gap:22px}.signal-map::before{content:"";position:absolute;left:8%;right:8%;top:34px;height:1px;background:rgba(215,189,139,.3)}.signal-map article{position:relative}.signal-map b{font-size:11px;color:#aaa095}.signal-map i{display:block;width:11px;height:11px;border:2px solid #9b4035;border-radius:50%;background:#211c18;margin:16px 0;position:relative;z-index:1}.signal-map article.active i{background:#bc5648;box-shadow:0 0 0 5px rgba(188,86,72,.12)}.signal-map p{font-size:11px;color:#aaa095;line-height:1.7;margin:0}
.balance-map{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:28px;max-width:850px;margin:38px auto 0}.balance-map>div{padding:19px;border:1px solid rgba(215,189,139,.25);text-align:center}.balance-map b{font:500 13px/1.8 "Noto Serif SC",serif}.balance-map>i{height:2px;background:#b99a68;position:relative}.balance-map>i::before{content:"";position:absolute;left:50%;top:-47px;width:1px;height:94px;background:#b99a68}.balance-map>i::after{content:"";position:absolute;left:calc(50% - 18px);top:45px;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:28px solid rgba(185,154,104,.35)}
.risk-map{display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;align-items:stretch}.risk-map article{padding:20px;border:1px solid rgba(215,189,139,.22)}.risk-map article.stop{border-color:rgba(188,86,72,.7)}
.branch-map{max-width:850px;margin:auto}.branch-map .origin{width:max-content;margin:auto;padding:7px 18px;background:#9b4035;font-size:11px}.branches{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px;position:relative}.branches::before{content:"";position:absolute;left:25%;right:25%;top:-22px;height:22px;border:1px solid rgba(215,189,139,.45);border-bottom:0}.branches article{padding:17px 22px;border:1px solid rgba(215,189,139,.24)}.branches b{display:block;font:600 16px "Noto Serif SC",serif;margin:5px 0}.branches p{font-size:11px;color:#aaa095;line-height:1.7;margin:0}
.ledger-map{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(215,189,139,.2);border-bottom:1px solid rgba(215,189,139,.2)}.ledger-map li{padding:20px}.ledger-map li+li{border-left:1px solid rgba(215,189,139,.2)}.ledger-map b{margin-top:10px;font-weight:400}
.result-actions .deep-reading-link{display:none!important}
@media(max-width:1050px){.reading-card{width:250px;height:330px;margin-left:-125px}.deck-stage{height:370px}.reading-visuals{min-height:270px}}
@media(max-width:700px){.reading-deck{padding:30px 16px 34px}.reading-deck-heading>span{display:none}.deck-shell{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.deck-arrow{width:32px;height:32px}.deck-stage{height:360px}.reading-card{width:232px;height:326px;margin-left:-116px;padding:20px 18px}.reading-card h4{font-size:21px}.reading-card p{-webkit-line-clamp:6}.reading-visual{padding:21px 18px}.reading-visuals{min-height:0}.condition-map,.risk-map{grid-template-columns:1fr}.condition-map>i,.risk-map>i{transform:rotate(90deg);padding:3px}.signal-map{grid-template-columns:1fr}.signal-map::before{left:5px;right:auto;top:13px;bottom:13px;width:1px;height:auto}.signal-map article{display:grid;grid-template-columns:62px 22px 1fr;align-items:start}.signal-map i{margin:4px 0}.balance-map{grid-template-columns:1fr;gap:22px;margin-top:0}.balance-map>i{width:100px;margin:auto}.branches{grid-template-columns:1fr;margin-top:24px}.branches::before{display:none}.ledger-map{grid-template-columns:1fr}.ledger-map li+li{border-left:0;border-top:1px solid rgba(215,189,139,.2)}}
@media(max-width:700px){.result{scroll-margin-top:66px}.reading-deck-heading{margin-bottom:14px}.deck-dots{margin-bottom:20px}}

/* Deep-reading extension entry */
.result-actions .deep-reading-link{margin-right:auto;padding:12px 25px;border:1px solid #a34b40;background:#9b4035;color:#fff;display:inline-flex;align-items:center;gap:22px;font-size:13px;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.result-actions .deep-reading-link:hover{transform:translateY(-2px);background:#ad4d41;border-color:#ad4d41}
@media(max-width:700px){.result-actions{flex-wrap:wrap}.result-actions .deep-reading-link{width:100%;margin:0 0 8px;justify-content:space-between}}

/* 2.2 interaction system: 朱砂卦脉 */
:root{
  --motion-fast:160ms;
  --motion-base:240ms;
  --motion-slow:320ms;
  --ease-arrive:cubic-bezier(.22,1,.36,1);
  --ease-move:cubic-bezier(.65,0,.35,1);
  --focus-ring:#b04b3e;
}

button,a,summary,input,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--focus-ring);
  outline-offset:3px;
}
button:disabled,[aria-busy="true"]{cursor:wait}

/* One calm, orchestrated entrance. Content remains visible when JS is unavailable. */
.motion-ready .topbar,.motion-ready .hero-copy,.motion-ready .coin-wrap,.motion-ready .cast-card{
  opacity:0;
  transform:translateY(10px);
}
.motion-ready.page-entered .topbar,.motion-ready.page-entered .hero-copy,.motion-ready.page-entered .coin-wrap,.motion-ready.page-entered .cast-card{
  opacity:1;
  transform:translateY(0);
  transition:opacity var(--motion-slow) var(--ease-arrive),transform var(--motion-slow) var(--ease-arrive);
}
.motion-ready.page-entered .hero-copy{transition-delay:40ms}
.motion-ready.page-entered .coin-wrap{transition-delay:80ms}
.motion-ready.page-entered .cast-card{transition-delay:120ms}

/* Navigation and text actions share the same ink-line response. */
.brand,.topbar nav a,.top-action,.coin-wrap p a,footer a{
  transition:transform var(--motion-fast) var(--ease-arrive),color var(--motion-fast) ease-out,background-color var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out;
}
.brand-seal{transition:transform var(--motion-base) var(--ease-arrive),background-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out}
.topbar nav a,.coin-wrap p a,footer a{position:relative;width:max-content}
.topbar nav a::after,.coin-wrap p a::after,footer a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform var(--motion-base) var(--ease-arrive);
}

/* Form surface and linked input progression. */
.cast-card{
  --entry-progress:0;
  position:relative;
  transition:border-color var(--motion-base) ease-out,box-shadow var(--motion-base) ease-out;
}
.cast-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid transparent;
  box-shadow:inset 3px 0 0 rgba(150,60,47,0);
  transition:box-shadow var(--motion-base) ease-out,border-color var(--motion-base) ease-out;
}
.cast-card:focus-within::before{border-color:rgba(150,60,47,.22);box-shadow:inset 3px 0 0 rgba(150,60,47,.42)}
.question-field>span::after{
  content:"已记";
  display:inline-block;
  margin-left:8px;
  color:var(--red);
  font-size:9px;
  font-weight:500;
  letter-spacing:.12em;
  opacity:0;
  transform:translateY(3px);
  transition:opacity var(--motion-fast) ease-out,transform var(--motion-base) var(--ease-arrive);
}
.question-field.has-content>span::after{opacity:1;transform:translateY(0)}
.question-field textarea{
  transition:border-color var(--motion-fast) ease-out,background-color var(--motion-base) ease-out,box-shadow var(--motion-base) ease-out,transform var(--motion-base) var(--ease-arrive);
}
.question-field textarea:focus{background:#fffdf7;box-shadow:0 12px 26px rgba(63,43,28,.08);transform:translateY(-1px)}
.question-field>b{transition:color var(--motion-fast) ease-out,transform var(--motion-base) var(--ease-arrive)}
.question-field:focus-within>b{color:var(--red);transform:translateY(-1px)}
.question-mode{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;margin-top:8px;min-height:28px;color:var(--muted);font-size:10px;transition:color var(--motion-fast) ease-out,transform var(--motion-base) var(--ease-arrive)}
.question-mode>span{letter-spacing:.12em}.question-mode>strong{padding:4px 8px;border:1px solid rgba(150,60,47,.28);background:rgba(150,60,47,.05);color:var(--red);font-weight:600}.question-mode>small{font-size:10px}.question-field.has-content+.question-mode{color:var(--ink);transform:translateX(2px)}

.number-entry{
  position:relative;
  isolation:isolate;
  transition:transform var(--motion-base) var(--ease-arrive),border-color var(--motion-fast) ease-out,background-color var(--motion-base) ease-out,box-shadow var(--motion-base) ease-out;
}
.number-entry::after{
  content:"定";
  position:absolute;
  top:7px;
  right:7px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid var(--red);
  color:var(--red);
  font:700 10px "Noto Serif SC",serif;
  opacity:0;
  transform:scale(.82) rotate(-5deg);
  transition:opacity var(--motion-fast) ease-out,transform var(--motion-base) var(--ease-arrive);
}
.number-entry:focus-within{background:#fffdf7;box-shadow:0 14px 28px rgba(63,43,28,.1);transform:translateY(-3px);z-index:2}
.number-entry.is-complete{border-color:rgba(150,60,47,.5);background:#fffaf1}
.number-entry.is-complete::after{opacity:.82;transform:scale(1) rotate(-2deg)}
.number-entry.just-completed::after{animation:sealSet 280ms var(--ease-arrive)}
.number-entry.is-rolling input{animation:inkFlicker 180ms ease-out 2}
.number-entry.has-error{box-shadow:inset 3px 0 0 var(--red)}

.entry-flow{display:flex;align-items:center;gap:12px;margin-top:11px;color:var(--muted)}
.entry-flow>span{position:relative;display:flex;justify-content:space-between;width:84px;height:9px}
.entry-flow>span::before,.entry-flow>span::after{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  top:4px;
  height:1px;
}
.entry-flow>span::before{background:var(--line)}
.entry-flow>span::after{background:var(--red);transform:scaleX(var(--entry-progress));transform-origin:left;transition:transform var(--motion-base) var(--ease-arrive)}
.entry-flow i{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;border:1px solid rgba(61,47,37,.32);background:#f9f6ee;transform:scale(.78);transition:transform var(--motion-base) var(--ease-arrive),background-color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out}
.entry-flow i.is-lit{border-color:var(--red);background:var(--red);transform:scale(1);box-shadow:0 0 0 3px rgba(150,60,47,.1)}
.entry-flow b{font-size:9px;font-weight:500;letter-spacing:.1em;color:inherit;transition:color var(--motion-fast) ease-out}
.cast-card.is-ready .entry-flow b{color:var(--red)}

/* Every button uses the same lift / press grammar; state changes remain specific. */
.top-action,.cast-actions button,.result-actions button,.history-item{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform var(--motion-fast) var(--ease-arrive),box-shadow var(--motion-base) ease-out,border-color var(--motion-fast) ease-out,background-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out,opacity var(--motion-fast) ease-out;
}
.top-action::after,.cast-actions button::after,.result-actions button::after,.history-item::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:2px;
  z-index:-1;
  background:currentColor;
  opacity:.35;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--motion-base) var(--ease-arrive);
}
.primary .idle{display:inline-flex;align-items:center;justify-content:center}
.primary .idle b{display:inline-block;transition:transform var(--motion-base) var(--ease-arrive)}
.primary.is-ready{box-shadow:0 13px 30px rgba(111,41,34,.22)}
.primary.is-ready::after{transform:scaleX(1)}
.primary.is-ready .idle b{transform:translateX(4px)}
.primary.needs-input{box-shadow:inset 0 0 0 2px #d2a196}
.primary.ready-pulse{animation:readyPulse 420ms var(--ease-arrive)}
.cast-card.is-casting .primary{box-shadow:0 8px 18px rgba(111,41,34,.16)}
.cast-card.is-casting .loading{animation:quietPulse 700ms ease-in-out infinite alternate}
.secondary.is-shuffling{color:var(--red);border-color:rgba(150,60,47,.5)!important;background:#fffaf1}
.result-actions button.is-success{background:#d7bd8b;color:var(--dark);border-color:#d7bd8b}
.result-actions button.is-failed{border-color:#bc5648;color:#e5a398}
.history-item.is-loading{opacity:.58;transform:translateY(1px)}
.history-item h4,.history-item p{transition:transform var(--motion-base) var(--ease-arrive),color var(--motion-fast) ease-out}

.calculation summary{position:relative;width:max-content;padding-right:25px;list-style:none;transition:color var(--motion-fast) ease-out,transform var(--motion-fast) var(--ease-arrive)}
.calculation summary::-webkit-details-marker{display:none}
.calculation summary::after{content:"＋";position:absolute;right:0;top:-2px;color:#c99c62;transition:transform var(--motion-base) var(--ease-arrive)}
.calculation[open] summary::after{transform:rotate(45deg)}
.calculation[open] div{animation:detailsEnter var(--motion-base) var(--ease-arrive) both}
.result.is-leaving{animation:resultExit 180ms ease-in both}

@media(hover:hover) and (pointer:fine){
  .brand:hover{color:var(--red);transform:translateY(-1px)}
  .brand:hover .brand-seal{background:var(--red);color:#fff;transform:rotate(-3deg)}
  .topbar nav a:hover,.coin-wrap p a:hover,footer a:hover{color:var(--red)}
  .topbar nav a:hover::after,.coin-wrap p a:hover::after,footer a:hover::after{transform:scaleX(1);transform-origin:left}
  .top-action:hover,.cast-actions button:hover,.result-actions button:hover,.history-item:hover{transform:translateY(-2px)}
  .top-action:hover{box-shadow:0 9px 22px rgba(111,41,34,.2)}
  .primary:hover{box-shadow:0 14px 30px rgba(111,41,34,.24)}
  .secondary:hover{border-color:rgba(150,60,47,.48)!important;color:var(--red);background:#fffaf1}
  .result-actions button:hover{border-color:#d7bd8b;color:#d7bd8b}
  .result-actions .solid:hover{background:#fff;color:var(--red)}
  .history-item:hover{box-shadow:0 14px 28px rgba(63,43,28,.12);background:#eee5d4}
  .history-item:hover h4{transform:translateX(3px);color:var(--red)}
  .history-item:hover::after,.top-action:hover::after,.cast-actions button:hover::after,.result-actions button:hover::after{transform:scaleX(1)}
  .calculation summary:hover{color:#fff;transform:translateX(2px)}
}
.top-action:active,.cast-actions button:active,.result-actions button:active,.history-item:active{transform:scale(.98)}

@keyframes sealSet{0%{opacity:0;transform:scale(.82) rotate(-5deg)}70%{opacity:1;transform:scale(1.06) rotate(-2deg)}100%{opacity:.82;transform:scale(1) rotate(-2deg)}}
@keyframes inkFlicker{0%{opacity:.35;transform:translateY(-3px)}100%{opacity:1;transform:translateY(0)}}
@keyframes readyPulse{0%{transform:scale(1)}45%{transform:scale(.985)}100%{transform:scale(1)}}
@keyframes quietPulse{from{opacity:.62}to{opacity:1}}
@keyframes detailsEnter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes resultExit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}

@media(max-width:700px){
  .number-entry:focus-within{transform:translateY(-2px);box-shadow:0 9px 18px rgba(63,43,28,.08)}
  .entry-flow{margin-top:8px}
  .motion-ready.page-entered .coin-wrap{transition-delay:0ms}
}

/* 3.2 cascade lock — intentionally scoped to the two requested sections */
#method.method{max-width:none;min-height:760px;margin:0;padding:clamp(72px,7vw,112px) clamp(38px,4.2vw,78px);display:grid;grid-template-columns:minmax(360px,.68fr) minmax(620px,1.42fr);grid-template-rows:1fr;gap:clamp(56px,8vw,150px);align-items:stretch;background:rgba(247,240,221,.58)}
#method>.section-title{grid-row:auto;align-self:start;padding:52px 0 0}
#method>.section-title p{margin:0 0 30px;color:var(--rosewood);font-size:12px;letter-spacing:.15em}
#method>.section-title h3{max-width:430px;margin:0;color:var(--wood-ink);font-family:"Songti SC","Noto Serif SC","STSong",serif;font-size:clamp(68px,6.2vw,108px);font-weight:500;line-height:.92;letter-spacing:-.075em}
#method>.section-title h3 span{display:block;white-space:nowrap}#method>.section-title>span{display:block;margin-top:30px;color:var(--wood-muted);font-size:12px}
#method .steps{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:0;border:1px solid var(--silk-line);background:rgba(255,252,241,.16)}
#method .steps article{min-height:0;padding:clamp(32px,4vw,58px) clamp(28px,4.8vw,78px);display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:20px;align-content:center;border:0!important;border-bottom:1px solid var(--silk-line)!important;border-radius:0;background:transparent;box-shadow:none}
#method .steps article:last-child{border-bottom:0!important}#method .steps b{grid-row:1/3;align-self:start;color:var(--rosewood);font-size:34px;font-weight:500;line-height:1}#method .steps h4{margin:0;color:var(--wood-ink);font-size:30px;font-weight:600;line-height:1.2}#method .steps p{margin:18px 0 0;color:var(--wood-muted);font-size:14px;line-height:1.75}#method .trigrams{display:none}
#history.history{max-width:none;min-height:650px;margin:0;padding:clamp(72px,7vw,112px) clamp(38px,4.2vw,78px);display:grid;grid-template-columns:minmax(360px,.68fr) minmax(620px,1.42fr);gap:clamp(56px,8vw,150px);align-items:start;border-top:1px solid var(--silk-line);background:rgba(251,247,234,.7)}
#history>.section-title{padding:42px 0 0}#history>.section-title p{margin-bottom:28px;color:var(--rosewood);font-size:12px;letter-spacing:.15em}#history>.section-title h3{max-width:410px;margin:0;color:var(--wood-ink);font-family:"Songti SC","Noto Serif SC","STSong",serif;font-size:clamp(68px,6.2vw,106px);font-weight:500;line-height:.9;letter-spacing:-.075em}#history>.section-title>span{display:block;margin-top:30px;color:var(--wood-muted);font-size:12px}
#history .history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}
#history .history-item{position:relative;min-height:198px;padding:30px 26px;border:1px solid rgba(91,42,42,.16);border-radius:28px;background:radial-gradient(circle at 72% 78%,rgba(241,211,116,.22),transparent 46%),linear-gradient(145deg,rgba(255,252,239,.88),rgba(249,237,198,.44));color:var(--wood-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease}
#history .history-item span{font-size:11px;color:var(--rosewood)}#history .history-item h4{margin:25px 0 12px;color:var(--wood-ink);font-size:34px;font-weight:500;line-height:1.15}#history .history-item p{margin:0;color:var(--wood-muted);font-size:12px}#history .history-grid>.empty{grid-column:1/-1;padding:34px 0;border-top:1px solid var(--silk-line)}
@media(hover:hover) and (pointer:fine){#method .steps article:hover{background:rgba(255,250,234,.44);box-shadow:none}#history .history-item:hover{transform:translateY(-5px);border-color:rgba(91,42,42,.34);box-shadow:0 18px 42px rgba(83,54,28,.1),inset 0 1px 0 rgba(255,255,255,.9)}}
@media(max-width:1050px){#method.method,#history.history{grid-template-columns:1fr;min-height:0;gap:42px}#method>.section-title,#history>.section-title{padding-top:0}#method>.section-title h3 span{display:inline}#method>.section-title h3 span+span::before{content:" "}}
@media(max-width:700px){#method.method,#history.history{padding:64px 18px;gap:34px}#method>.section-title h3,#history>.section-title h3{font-size:54px;line-height:.96;letter-spacing:-.06em}#method>.section-title h3 span{display:block}#method>.section-title h3 span+span::before{content:none}#method .steps article{padding:30px 20px;grid-template-columns:44px 1fr;column-gap:12px}#method .steps b{font-size:27px}#method .steps h4{font-size:24px}#method .steps p{margin-top:12px;font-size:12px}#history .history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#history .history-item{min-height:152px;padding:21px 18px;border-radius:22px}#history .history-item h4{margin:18px 0 8px;font-size:28px}}

/* Method title: two deliberate lines at every viewport. */
#method>.section-title h3 span{display:block!important;white-space:nowrap}
#method>.section-title h3 span+span{margin-top:.16em}
#method>.section-title h3 span+span::before{content:none!important}

/* 3.2 method rules + recent readings — reference-aligned layout */
.method{
  max-width:none;min-height:760px;margin:0;padding:clamp(72px,7vw,112px) clamp(38px,4.2vw,78px);
  display:grid;grid-template-columns:minmax(360px,.68fr) minmax(620px,1.42fr);grid-template-rows:1fr;
  gap:clamp(56px,8vw,150px);align-items:stretch;background:rgba(247,240,221,.58)
}
.method>.section-title{grid-row:auto;align-self:start;padding:52px 0 0}
.method>.section-title p{margin:0 0 30px;color:var(--rosewood);font-size:12px;letter-spacing:.15em}
.method>.section-title h3{
  max-width:430px;margin:0;color:var(--wood-ink);font-family:"Songti SC","Noto Serif SC","STSong",serif;
  font-size:clamp(68px,6.2vw,108px);font-weight:500;line-height:.92;letter-spacing:-.075em
}
.method>.section-title h3 span{display:block;white-space:nowrap}
.method>.section-title>span{display:block;margin-top:30px;color:var(--wood-muted);font-size:12px}
.method .steps{
  display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:0;
  border:1px solid var(--silk-line);background:rgba(255,252,241,.16)
}
.method .steps article{
  min-height:0;padding:clamp(32px,4vw,58px) clamp(28px,4.8vw,78px);
  display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:20px;align-content:center;
  border:0!important;border-bottom:1px solid var(--silk-line)!important;border-radius:0;
  background:transparent;box-shadow:none
}
.method .steps article:last-child{border-bottom:0!important}
.method .steps b{grid-row:1/3;align-self:start;color:var(--rosewood);font-size:34px;font-weight:500;line-height:1}
.method .steps h4{margin:0;color:var(--wood-ink);font-size:30px;font-weight:600;line-height:1.2}
.method .steps p{margin:18px 0 0;color:var(--wood-muted);font-size:14px;line-height:1.75}
.method .trigrams{display:none}

.history{
  max-width:none;min-height:650px;margin:0;padding:clamp(72px,7vw,112px) clamp(38px,4.2vw,78px);
  display:grid;grid-template-columns:minmax(360px,.68fr) minmax(620px,1.42fr);gap:clamp(56px,8vw,150px);
  align-items:start;border-top:1px solid var(--silk-line);background:rgba(251,247,234,.7)
}
.history>.section-title{padding:42px 0 0}
.history>.section-title p{margin-bottom:28px;color:var(--rosewood);font-size:12px;letter-spacing:.15em}
.history>.section-title h3{
  max-width:410px;margin:0;color:var(--wood-ink);font-family:"Songti SC","Noto Serif SC","STSong",serif;
  font-size:clamp(68px,6.2vw,106px);font-weight:500;line-height:.9;letter-spacing:-.075em
}
.history>.section-title>span{display:block;margin-top:30px;color:var(--wood-muted);font-size:12px}
.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.history-item{
  position:relative;min-height:198px;padding:30px 26px;border:1px solid rgba(91,42,42,.16);border-radius:28px;
  background:radial-gradient(circle at 72% 78%,rgba(241,211,116,.22),transparent 46%),linear-gradient(145deg,rgba(255,252,239,.88),rgba(249,237,198,.44));
  color:var(--wood-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease
}
.history-item span{font-size:11px;color:var(--rosewood)}
.history-item h4{margin:25px 0 12px;color:var(--wood-ink);font-size:34px;font-weight:500;line-height:1.15}
.history-item p{margin:0;color:var(--wood-muted);font-size:12px}
.history-grid>.empty{grid-column:1/-1;padding:34px 0;border-top:1px solid var(--silk-line)}
@media(hover:hover) and (pointer:fine){
  .method .steps article:hover{background:rgba(255,250,234,.44);box-shadow:none}
  .history-item:hover{transform:translateY(-5px);border-color:rgba(91,42,42,.34);box-shadow:0 18px 42px rgba(83,54,28,.1),inset 0 1px 0 rgba(255,255,255,.9)}
}
@media(max-width:1050px){
  .method,.history{grid-template-columns:1fr;min-height:0;gap:42px}
  .method>.section-title,.history>.section-title{padding-top:0}
  .method>.section-title h3 span{display:inline}.method>.section-title h3 span+span::before{content:" "}
}
@media(max-width:700px){
  .method,.history{padding:64px 18px;gap:34px}
  .method>.section-title h3,.history>.section-title h3{font-size:54px;line-height:.96;letter-spacing:-.06em}
  .method>.section-title h3 span{display:block}.method>.section-title h3 span+span::before{content:none}
  .method .steps article{padding:30px 20px;grid-template-columns:44px 1fr;column-gap:12px}
  .method .steps b{font-size:27px}.method .steps h4{font-size:24px}.method .steps p{margin-top:12px;font-size:12px}
  .history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .history-item{min-height:152px;padding:21px 18px;border-radius:22px}.history-item h4{margin:18px 0 8px;font-size:28px}
}

@media(max-width:700px){.question-mode{grid-template-columns:auto auto}.question-mode>small{grid-column:1/-1;margin-top:-2px}}

/* 3.0 Quiet object system — porcelain, ink and bronze */
:root{
  --ink:#171816;
  --muted:#747570;
  --paper:#f6f6f2;
  --cream:#ecece6;
  --red:#9b4035;
  --red2:#793029;
  --gold:#9b7648;
  --dark:#171815;
  --line:rgba(29,30,27,.11);
  --glass:rgba(255,255,252,.72);
  --shadow-soft:0 24px 70px rgba(31,33,29,.09);
  --shadow-float:0 34px 100px rgba(31,33,29,.13);
  --radius-xl:32px;
  --radius-lg:22px;
  --radius-md:15px;
}
html{background:#eeeee9}
body{
  background-color:var(--paper);
  background-image:radial-gradient(circle at 18% 18%,rgba(155,118,72,.08),transparent 25%),radial-gradient(circle at 82% 8%,rgba(255,255,255,.94),transparent 28%);
  background-size:auto;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;
  letter-spacing:-.012em;
}
.topbar{
  position:sticky;top:0;z-index:30;height:64px;
  background:rgba(246,246,242,.76);border-color:rgba(29,30,27,.08);
  backdrop-filter:saturate(150%) blur(24px);-webkit-backdrop-filter:saturate(150%) blur(24px);
}
.brand{gap:10px}.brand-seal{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.55)}
.brand strong{font-family:"Songti SC","Noto Serif SC",serif;font-size:18px;letter-spacing:.12em}
.brand small{letter-spacing:.14em;color:#8b8c86}
.topbar nav{gap:8px}.topbar nav a{padding:8px 13px;border-radius:999px;font-size:12px}
.topbar nav a:hover{background:rgba(255,255,255,.72)}
.top-action{border-radius:999px;padding:10px 19px;box-shadow:0 8px 22px rgba(121,48,41,.15)}
.hero{min-height:calc(100svh - 64px);max-width:1380px;padding-top:clamp(42px,7vh,82px);padding-bottom:clamp(50px,8vh,96px);gap:clamp(34px,5vw,76px)}
.overline{font-size:10px;letter-spacing:.2em}.hero-copy h1{font-family:"Songti SC","Noto Serif SC",serif;font-weight:700;letter-spacing:-.025em;line-height:1.03;margin:25px 0}
.lead{font-family:"Songti SC","Noto Serif SC",serif;font-size:14px;line-height:2.05;color:#70716c}
.trust{gap:7px}.trust span{border:0;border-radius:999px;background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(29,30,27,.09);padding:7px 11px;color:#666762}
.coin-wrap{margin-top:1vh}.coin-real{filter:drop-shadow(0 28px 30px rgba(47,38,25,.16));transition:filter .3s ease-out}.coin-wrap p{margin-top:22px;color:#8b8176}
.cast-card{
  background:var(--glass);border:1px solid rgba(255,255,255,.88);border-radius:var(--radius-xl);
  box-shadow:var(--shadow-float),inset 0 0 0 1px rgba(29,30,27,.06);
  backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);
}
.cast-card::before{border-radius:inherit}.card-heading{margin-bottom:22px}.card-heading h2{font-family:"Songti SC","Noto Serif SC",serif;font-size:29px;letter-spacing:-.02em}.card-heading span{letter-spacing:.16em}
.question-field textarea,.number-entry{background:rgba(250,250,247,.78);border-color:rgba(29,30,27,.1);border-radius:var(--radius-md)}
.question-field textarea{padding:15px 46px 13px 15px;min-height:78px}.question-field textarea:focus{background:#fff;box-shadow:0 14px 34px rgba(31,33,29,.08),0 0 0 3px rgba(155,64,53,.08)}
.question-field>b{bottom:11px;right:13px}.question-mode{margin-top:10px;min-height:31px}.question-mode>strong{border:0;border-radius:999px;padding:5px 10px;background:rgba(155,64,53,.08)}
.number-grid{gap:9px}.number-entry{padding:12px}.number-entry input{font-family:"New York","Songti SC","Noto Serif SC",serif;font-weight:600;letter-spacing:.04em}.number-entry.is-complete{background:rgba(255,255,252,.92)}
.entry-flow>span{background:rgba(29,30,27,.07);border-radius:999px}.entry-flow i{border-radius:999px}
.cast-actions{gap:9px}.cast-actions button{border-radius:14px;height:58px}.primary{font-family:"Songti SC","Noto Serif SC",serif;font-size:20px;box-shadow:0 14px 28px rgba(121,48,41,.18)}
.secondary{background:rgba(255,255,255,.58);border-color:rgba(29,30,27,.1)!important}
.result{margin:0 clamp(10px,2vw,28px);border-radius:38px;overflow:clip;background:#181915;box-shadow:0 40px 100px rgba(18,19,17,.19);scroll-margin-top:76px}
.result-top,.three-c,.derived,.calculation,.result-actions{max-width:1340px}
.result-top{min-height:410px;padding-top:68px;padding-bottom:62px;gap:72px}
.result-top h2{font-family:"Songti SC","Noto Serif SC",serif;font-weight:600;letter-spacing:-.06em}.result-summary{border-color:rgba(255,255,255,.12)}
.result-summary span{font-family:"Songti SC","Noto Serif SC",serif;font-weight:600;letter-spacing:-.025em}.result-summary p{color:#aaa9a2;max-width:520px}
.hex-line{height:13px;gap:16px}.hex-line i{border-radius:999px;background:#bca274}.hex-line.changing.built i{background:#b65347}
.three-c{gap:10px;padding-bottom:62px;border-top:0}.three-c .section-title{padding-right:30px}.three-c article{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:30px;background:rgba(255,255,255,.035)}
.three-c article h4{font-family:"Songti SC","Noto Serif SC",serif;font-size:21px}.three-c article p{color:#aaa9a2;line-height:1.95}.three-c blockquote{border-radius:12px;background:rgba(255,255,255,.055)}
.section-title h3{font-family:"Songti SC","Noto Serif SC",serif;font-weight:600;letter-spacing:-.025em}.section-title p{letter-spacing:.18em}
.derived{margin-bottom:6px;border-radius:24px;background:#eee9de;overflow:hidden}.derived-main,.derived aside{border-color:rgba(29,30,27,.1)}.derived-main>p{font-family:"Songti SC","Noto Serif SC",serif;font-weight:400;line-height:2.05}
.path span{letter-spacing:.06em}.path i{opacity:.55}.calculation{border-color:rgba(255,255,255,.1)}
.result-actions button{border-radius:999px;min-width:116px}.result-actions .solid{border-color:#f3f3ef;background:#f3f3ef}
.method,.history{max-width:1340px;padding-top:96px;padding-bottom:96px}.steps{gap:10px;border:0}.steps article{border:1px solid var(--line)!important;border-radius:var(--radius-lg);background:rgba(255,255,255,.5);padding:30px}.steps b{font-family:"Songti SC","Noto Serif SC",serif;color:var(--gold)}.steps h4{font-family:"Songti SC","Noto Serif SC",serif}
.trigrams{margin-top:10px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.38)}
.history{border-top-color:rgba(29,30,27,.08)}.history-grid{gap:10px}.history-item{border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.5);min-height:158px}.history-item h4{font-family:"Songti SC","Noto Serif SC",serif;font-weight:600}
footer{margin:0 20px 20px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.4);padding:28px clamp(20px,4vw,48px)}
footer strong{font-family:"Songti SC","Noto Serif SC",serif}
.gsap-ready .result.is-revealed>.three-c,.gsap-ready .result.is-revealed>.derived,.gsap-ready .result.is-revealed>.calculation,.gsap-ready .result.is-revealed>.result-actions{animation:none}

@media(hover:hover) and (pointer:fine){
  .coin-wrap:hover .coin-real{filter:drop-shadow(0 34px 35px rgba(47,38,25,.21))}
  .three-c article,.steps article,.history-item{transition:transform .2s var(--ease-arrive),border-color .2s ease-out,background-color .2s ease-out,box-shadow .25s ease-out}
  .three-c article:hover,.steps article:hover{transform:translateY(-3px);border-color:rgba(155,118,72,.25);box-shadow:0 18px 42px rgba(18,19,17,.08)}
}

@media(max-width:1050px){
  .hero{position:relative}.coin-wrap{display:block;position:absolute;right:clamp(18px,5vw,52px);top:48px;z-index:0;margin:0;opacity:.14;pointer-events:none}.coin-real{width:clamp(104px,18vw,170px)}.coin-wrap p{display:none}.hero-copy,.cast-card{position:relative;z-index:1}
  .result{border-radius:28px}.three-c article{border-left:1px solid rgba(255,255,255,.08)}
  .method,.history{padding-top:72px;padding-bottom:72px}
}

@media(max-width:700px){
  .topbar{height:58px}.hero{padding-top:28px}.coin-wrap{right:14px;top:30px;opacity:.12}.coin-real{width:108px}.hero-copy h1{letter-spacing:-.035em}.cast-card{border-radius:24px;box-shadow:0 24px 58px rgba(31,33,29,.11)}
  .result{margin:0 7px;border-radius:25px}.result-top{padding-top:42px;padding-bottom:36px}.three-c{padding-bottom:28px}.three-c article{border:1px solid rgba(255,255,255,.08);border-radius:17px;margin-bottom:9px;padding:24px}
  .derived{border-radius:19px}.method,.history{padding-top:58px;padding-bottom:58px}.steps{gap:8px}.steps article{border-radius:18px;padding:24px}.trigrams{border-radius:14px}.history-item{border-radius:18px}
  footer{margin:0 7px 7px;border-radius:18px}
}

@media(prefers-reduced-motion:reduce){.gsap-ready [style]{scroll-behavior:auto}}

/* 3.1 Number focus — one soft, accessible layer instead of two red rectangles */
.number-entry::before{
  content:"";position:absolute;left:12px;right:12px;bottom:8px;height:1px;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(155,118,72,.72) 18%,rgba(155,118,72,.72) 82%,transparent);
  opacity:0;transform:scaleX(.35);transform-origin:center;
  transition:opacity 160ms ease-out,transform 220ms var(--ease-arrive);
}
.number-entry input:focus-visible{outline:0}
.number-entry:has(input:focus-visible){outline:2px solid rgba(155,118,72,.28);outline-offset:2px}
.number-entry:focus-within{
  border-color:rgba(155,118,72,.4)!important;background:rgba(255,255,252,.96);
  box-shadow:0 0 0 5px rgba(155,118,72,.08),0 16px 34px rgba(31,33,29,.09);
  transform:translateY(-2px);z-index:2;
}
.number-entry:focus-within::before{opacity:1;transform:scaleX(1)}
.number-entry:focus-within>span{color:#765a36}
.number-entry:focus-within input{border-bottom-color:rgba(155,118,72,.42);caret-color:var(--red)}
.number-entry.is-complete{border-color:rgba(155,118,72,.3);background:rgba(255,255,252,.94)}
.number-entry.has-error:focus-within{border-color:var(--red)!important;box-shadow:0 0 0 4px rgba(155,64,53,.08)}
.number-entry.has-error:focus-within::before{background:var(--red)}
.cast-card:focus-within::before{border-color:rgba(155,118,72,.16);box-shadow:inset 2px 0 0 rgba(155,118,72,.24)}

@media(max-width:700px){.number-entry:focus-within{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(155,118,72,.07),0 10px 22px rgba(31,33,29,.07)}}

/* 4.0 Scroll narrative — statement, coin, then casting glass */
body{overflow-x:hidden}
.intro-stage,.coin-stage,.cast-stage{position:relative;isolation:isolate}
.intro-stage{
  min-height:calc(100svh - 64px);
  padding:clamp(64px,11vh,118px) clamp(24px,9vw,148px) 72px;
  display:flex;align-items:flex-start;
}
.intro-stage::after{
  content:"";position:absolute;z-index:-1;inset:0;
  background:
    radial-gradient(circle at 83% 63%,rgba(155,118,72,.07),transparent 18%),
    linear-gradient(135deg,rgba(255,255,255,.2),transparent 45%);
  pointer-events:none;
}
.intro-stage .hero-copy{width:min(1120px,100%)}
.intro-stage .overline{margin:0 0 clamp(24px,4vh,42px)}
.intro-stage .hero-copy h1{
  margin:0;font-family:"Songti SC","Noto Serif SC",serif;
  font-size:clamp(68px,9vw,142px);font-weight:700;line-height:.96;
  letter-spacing:-.065em;text-wrap:balance;
}
.intro-stage .hero-copy h1 span,.intro-stage .hero-copy h1 em{display:block}
.intro-stage .hero-copy h1 em{color:var(--red);font-style:normal;margin-left:clamp(0px,5vw,72px)}
.intro-stage .lead{max-width:610px;margin:clamp(30px,5vh,54px) 0 0;font-size:clamp(14px,1.15vw,17px);line-height:2}
.intro-stage .trust{margin-top:24px}

/* Homepage talisman carousel — dithered apparition, kept separate from casting logic */
.intro-stage{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,390px);
  align-items:center;gap:clamp(40px,7vw,112px);
}
.intro-stage .hero-copy{width:auto;max-width:980px}
.talisman-carousel{
  width:100%;max-width:390px;justify-self:end;align-self:center;position:relative;
  color:#4f493f;outline:none;
}
.talisman-carousel:focus-visible .talisman-viewport{
  box-shadow:0 0 0 3px rgba(155,64,53,.13),0 26px 68px rgba(84,60,29,.13);
}
.talisman-viewport{
  position:relative;overflow:hidden;aspect-ratio:.54;border-radius:2px;
  background:rgba(228,196,126,.28);border:1px solid rgba(119,87,43,.12);
  box-shadow:0 26px 68px rgba(84,60,29,.11);
  isolation:isolate;transform:translateZ(0);
}
.talisman-backdrop,.talisman-image,.talisman-dither,.talisman-grain{
  position:absolute;inset:0;width:100%;height:100%;display:block;
}
.talisman-backdrop{
  z-index:0;object-fit:cover;transform:scale(1.14);filter:blur(28px) saturate(.72);
  opacity:.24;
}
.talisman-image{
  z-index:1;object-fit:contain;object-position:center;opacity:0;visibility:hidden;
  transform:translateZ(0) scale(1.015);filter:blur(0);will-change:transform,opacity,filter;
}
.talisman-image.is-active{opacity:1;visibility:visible}
.talisman-dither{
  z-index:3;opacity:0;visibility:hidden;image-rendering:pixelated;
  mix-blend-mode:multiply;pointer-events:none;will-change:opacity,transform;
}
.talisman-grain{
  z-index:4;pointer-events:none;opacity:.1;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
}
.talisman-caption{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;
  padding:16px 1px 0;
}
.talisman-caption>p{display:flex;align-items:center;gap:8px;margin:0;font:500 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#908476;letter-spacing:.08em}
.talisman-caption>p i{width:24px;height:1px;background:rgba(155,64,53,.42)}
.talisman-caption>div:nth-child(2){display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.talisman-caption strong{font:600 13px/1.3 "Songti SC","Noto Serif SC",serif;letter-spacing:.12em;white-space:nowrap}
.talisman-caption small{font-size:9px;color:#9b948a;letter-spacing:.14em;white-space:nowrap}
.talisman-controls{display:flex;gap:5px}
.talisman-controls button{
  width:30px;height:30px;padding:0;border:1px solid rgba(69,60,49,.13);border-radius:50%;
  background:rgba(255,255,255,.46);color:#62594e;font-size:14px;cursor:pointer;
  transition:transform .18s var(--ease-arrive),background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out;
}
.talisman-controls button:focus-visible{outline:2px solid rgba(155,64,53,.36);outline-offset:2px}
.talisman-controls button:active{transform:scale(.97)}

@media(hover:hover) and (pointer:fine){
  .talisman-controls button:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-1px)}
}

@media(max-width:1050px) and (min-width:701px){
  .intro-stage{grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:42px;padding-left:6vw;padding-right:6vw}
  .intro-stage .hero-copy h1{font-size:clamp(66px,9.5vw,102px)}
}
.scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:9px;
  color:#85827b;text-decoration:none;font-size:9px;letter-spacing:.18em;
}
.scroll-cue i{display:block;width:1px;height:34px;background:linear-gradient(var(--red),transparent);transform-origin:top}

.coin-stage{height:185svh;scroll-margin-top:64px}
.coin-scene{
  height:100svh;min-height:620px;display:grid;place-items:center;
  overflow:hidden;background:rgba(248,248,244,.38);
}
.coin-scene::before{
  content:"";position:absolute;z-index:-1;width:min(72vw,900px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.98),rgba(255,255,255,.2) 48%,transparent 72%);
  filter:blur(10px);
}
.coin-stage .coin-wrap{
  position:relative;inset:auto;z-index:1;display:block;align-self:auto;
  margin:0;text-align:center;opacity:1;pointer-events:auto;
}
.coin-stage .coin-real{
  width:clamp(290px,31vw,470px);filter:drop-shadow(0 34px 34px rgba(47,38,25,.18));
  transform:none;will-change:transform,opacity;
}
.coin-stage .coin-wrap p{margin:34px 0 0;font-size:12px;letter-spacing:.18em;color:#77736c}
.coin-stage .coin-wrap p a{margin-top:10px;color:#8d5148}
.coin-cue{bottom:22px}

.cast-stage{
  min-height:130svh;scroll-margin-top:64px;padding:clamp(100px,14vh,150px) 24px;
  display:grid;place-items:center;overflow:hidden;
  background:
    radial-gradient(circle at 26% 70%,rgba(160,138,102,.15),transparent 28%),
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.96),transparent 30%),
    #eeeae1;
}
.cast-stage::before{
  content:"";position:absolute;inset:8% 6%;z-index:-2;border-radius:50%;
  background:rgba(255,255,255,.36);filter:blur(48px);
}
.cast-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.cast-atmosphere span{
  position:absolute;right:7vw;top:15%;color:rgba(94,79,55,.055);
  font:500 clamp(170px,27vw,390px)/1 "Songti SC","Noto Serif SC",serif;
}
.cast-atmosphere i{
  position:absolute;left:-8vw;bottom:-13vw;width:50vw;aspect-ratio:1;transform:rotate(-11deg);
  border:1px solid rgba(120,98,64,.08);border-radius:42% 58% 61% 39%;
  box-shadow:0 0 0 34px rgba(255,255,255,.1),0 0 0 68px rgba(120,98,64,.025);
}
.cast-stage .cast-card{
  width:min(780px,calc(100vw - 48px));margin:0;padding:clamp(30px,4vw,52px);
  background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.88);border-radius:30px;
  box-shadow:0 32px 90px rgba(43,39,31,.13),inset 0 0 0 1px rgba(74,65,52,.055);
  backdrop-filter:blur(30px) saturate(135%);-webkit-backdrop-filter:blur(30px) saturate(135%);
  will-change:transform,opacity;
}
.cast-stage .cast-card::before{box-shadow:none}
.cast-stage .card-heading{margin-bottom:28px}
.cast-stage .card-heading h2{font-size:clamp(30px,4vw,42px);margin:7px 0 4px}
.cast-stage .card-heading p{margin:0;color:#858179;font:400 12px/1.8 "Songti SC","Noto Serif SC",serif}
.cast-stage .question-field textarea,.cast-stage .number-entry{background:rgba(255,255,255,.52);border-color:rgba(59,52,43,.12)}
.cast-stage .question-field textarea:focus,.cast-stage .number-entry:focus-within{background:rgba(255,255,255,.82)}

@media(hover:hover) and (pointer:fine){
  .scroll-cue{transition:color .2s ease-out}.scroll-cue i{transition:transform .3s var(--ease-arrive)}
  .scroll-cue:hover{color:var(--red)}.scroll-cue:hover i{transform:scaleY(1.18)}
  .coin-stage .coin-wrap:hover .coin-real{filter:drop-shadow(0 40px 42px rgba(47,38,25,.22))}
}

@media(max-width:700px){
  .intro-stage{min-height:auto;padding:11vh 20px 96px;display:block}
  .intro-stage .hero-copy h1{font-size:clamp(52px,16.5vw,72px);line-height:1.02;letter-spacing:-.06em}
  .intro-stage .hero-copy h1 em{margin-left:0}
  .intro-stage .lead{font-size:13px;line-height:1.85;margin-top:30px;max-width:94%}
  .intro-stage .trust{margin-top:18px}
  .talisman-carousel{width:min(78vw,330px);max-width:none;margin:68px auto 42px;justify-self:auto}
  .talisman-caption{gap:10px;padding-top:13px}.talisman-caption small{display:none}
  .talisman-controls button{width:32px;height:32px}
  .intro-stage>.scroll-cue{bottom:24px}
  .coin-stage{height:112svh;scroll-margin-top:58px}
  .coin-scene{height:100svh;min-height:560px}
  .coin-stage .coin-wrap{position:relative;right:auto;top:auto;opacity:1;pointer-events:auto}
  .coin-stage .coin-real{width:min(72vw,310px)}
  .coin-stage .coin-wrap p{display:block;margin-top:28px;padding:0 20px;font-size:10px}
  .cast-stage{min-height:112svh;scroll-margin-top:58px;padding:88px 14px}
  .cast-stage .cast-card{width:100%;padding:22px 18px 20px;border-radius:24px;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}
  .cast-stage .card-heading{margin-bottom:20px}.cast-stage .card-heading h2{font-size:30px}
  .cast-stage .number-grid{gap:6px}.cast-stage .number-entry{padding:9px 8px}.cast-stage .number-entry input{font-size:27px}
  .cast-stage .cast-actions{grid-template-columns:1fr}.cast-stage .secondary{height:46px!important}
  .cast-atmosphere span{right:-7vw;top:12%;font-size:55vw}
}

@media(prefers-reduced-motion:reduce){
  .coin-stage{height:100svh}.coin-stage .coin-real,.cast-stage .cast-card{opacity:1!important;transform:none!important}
  .scroll-cue i{transform:none!important}
  .talisman-image,.talisman-dither{transition:none!important;filter:none!important;transform:none!important}
}

/* Non-visual interaction safeguards: preserve layout while improving touch input. */
button,a,input,textarea,select,[role="button"]{touch-action:manipulation}
.scroll-cue::before{content:"";position:absolute;inset:-12px -22px}

/* 4.1 Runtime-safe reveal and more legible optical glass */
.cast-stage{
  background:
    radial-gradient(circle at 18% 72%,rgba(155,64,53,.12),transparent 28%),
    radial-gradient(circle at 76% 22%,rgba(155,118,72,.16),transparent 30%),
    linear-gradient(145deg,#ece7dc 0%,#f6f4ee 48%,#e9e3d8 100%);
}
.cast-atmosphere i{
  background:linear-gradient(140deg,rgba(155,64,53,.07),rgba(255,255,255,.08) 44%,rgba(155,118,72,.05));
  filter:blur(1px);
}
.cast-atmosphere::before,.cast-atmosphere::after{
  content:"";position:absolute;border-radius:50%;filter:blur(54px);pointer-events:none;
}
.cast-atmosphere::before{width:430px;height:430px;left:17%;top:42%;background:rgba(155,64,53,.13)}
.cast-atmosphere::after{width:360px;height:360px;right:18%;top:27%;background:rgba(155,118,72,.14)}
.cast-stage .cast-card{
  isolation:isolate;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(255,255,255,.24));
  border-color:rgba(255,255,255,.94);
  box-shadow:0 38px 100px rgba(43,39,31,.17),0 2px 8px rgba(255,255,255,.7) inset,0 0 0 1px rgba(77,65,48,.07) inset;
  backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);
}
.cast-stage .cast-card::before{
  background:linear-gradient(115deg,rgba(255,255,255,.34),transparent 32%,rgba(255,255,255,.09) 62%,rgba(155,118,72,.05));
  border:1px solid rgba(255,255,255,.42);border-radius:inherit;
}
.cast-stage .question-field textarea,.cast-stage .number-entry{
  background:rgba(255,255,255,.43);border-color:rgba(67,57,44,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
}
.cast-stage .secondary{background:rgba(255,255,255,.46)}

.motion-fallback .coin-wrap,.motion-fallback .cast-card,.motion-fallback .cast-atmosphere{
  opacity:0;transform:translateY(34px) scale(.97);
  transition:opacity 700ms var(--ease-arrive),transform 800ms var(--ease-arrive);
}
.motion-fallback .cast-atmosphere{transform:translateY(18px);transition-duration:900ms}
.motion-fallback .coin-wrap.is-inview,.motion-fallback .cast-card.is-inview,.motion-fallback .cast-atmosphere.is-inview{
  opacity:1;transform:none;
}
.motion-fallback .intro-stage .overline,.motion-fallback .intro-stage h1,.motion-fallback .intro-stage .lead,.motion-fallback .intro-stage .trust{
  animation:fallbackArrive 620ms var(--ease-arrive) both;
}
.motion-fallback .intro-stage h1{animation-delay:70ms}.motion-fallback .intro-stage .lead{animation-delay:130ms}.motion-fallback .intro-stage .trust{animation-delay:180ms}
@keyframes fallbackArrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .motion-fallback .coin-wrap,.motion-fallback .cast-card,.motion-fallback .cast-atmosphere{opacity:1!important;transform:none!important;transition:none!important}
  .motion-fallback .intro-stage .overline,.motion-fallback .intro-stage h1,.motion-fallback .intro-stage .lead,.motion-fallback .intro-stage .trust{animation:none!important}
}

@media(max-width:700px){
  .cast-atmosphere::before{width:270px;height:270px;left:-18%;top:48%}
  .cast-atmosphere::after{width:240px;height:240px;right:-16%;top:24%}
}

/* 5.0 Reading focus and locally generated share card */
.focus-key{
  width:100%;margin:16px 0 2px;padding:12px 13px 12px 16px;border:0;border-left:2px solid rgba(201,156,98,.42);
  border-radius:0 12px 12px 0;background:rgba(255,255,255,.045);color:#f3ecdf;text-align:left;cursor:pointer;
  transition:background-color 160ms ease-out,border-color 160ms ease-out,transform 220ms var(--ease-arrive),box-shadow 220ms ease-out;
}
.focus-key span{display:block;margin-bottom:5px;color:#c99c62;font-size:9px;letter-spacing:.16em}
.focus-key strong{display:block;font:500 14px/1.65 "Songti SC","Noto Serif SC",serif}
.three-c.has-focus article{transition:opacity 180ms ease-out,transform 220ms var(--ease-arrive),border-color 180ms ease-out,background-color 180ms ease-out,box-shadow 220ms ease-out}
.three-c.has-focus article:not(.is-focused){opacity:.72}
.three-c article.is-focused{border-color:rgba(201,156,98,.34);background:rgba(255,255,255,.065);box-shadow:0 18px 42px rgba(0,0,0,.12)}
.three-c article.is-focused .focus-key{border-left-color:#bc5648;background:rgba(188,86,72,.1);box-shadow:0 0 0 1px rgba(188,86,72,.1) inset}
.focus-key:focus-visible{outline:2px solid #d7bd8b;outline-offset:3px}

.calculation .symbol-route{
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:18px;margin-top:22px;
}
.symbol-route p{margin:0;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}
.symbol-route p>span{display:block;color:#c99c62;font-size:9px;letter-spacing:.16em}
.symbol-route p>b{display:block;margin:8px 0 5px;color:#f4eee2;font:600 21px "Songti SC","Noto Serif SC",serif}
.symbol-route p>small{display:block;color:#969087;font-size:10px;line-height:1.55}
.symbol-route>i{color:#8e877e;font-style:normal}
.result-actions #share-card-button{border-color:rgba(201,156,98,.48);color:#dfc391}

.share-dialog{width:min(930px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:0;border:0;border-radius:28px;background:transparent;color:#25231f;overflow:visible}
.share-dialog::backdrop{background:rgba(15,16,13,.58);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.share-panel{
  display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px 28px;padding:28px;border:1px solid rgba(255,255,255,.9);border-radius:28px;
  background:rgba(247,245,239,.92);box-shadow:0 38px 110px rgba(0,0,0,.3);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  opacity:0;transform:translateY(12px) scale(.975);transition:opacity 220ms ease-out,transform 260ms var(--ease-arrive);
}
.share-dialog.is-open .share-panel{opacity:1;transform:none}
.share-panel>header{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid rgba(40,37,31,.1)}
.share-panel>header span{color:var(--red);font-size:10px;letter-spacing:.18em}.share-panel>header h2{margin:6px 0 0;font:600 27px "Songti SC","Noto Serif SC",serif}
.share-panel>header button{width:40px;height:40px;border:1px solid rgba(40,37,31,.12);border-radius:50%;background:rgba(255,255,255,.52);font-size:24px;line-height:1;cursor:pointer}
.share-panel canvas{grid-row:2/6;width:100%;max-height:70svh;aspect-ratio:4/5;object-fit:contain;border-radius:18px;box-shadow:0 18px 46px rgba(44,39,30,.16);background:#f3efe6}
.share-note{align-self:end;margin:0;color:#706d66;font-size:12px;line-height:1.8}.share-status{min-height:20px;margin:0;color:var(--red);font-size:11px}
.share-actions{display:grid;gap:9px;align-self:end}.share-actions button{min-height:48px;border:1px solid rgba(40,37,31,.13);border-radius:13px;background:rgba(255,255,255,.58);cursor:pointer}
.share-actions .solid{border-color:var(--red);background:var(--red);color:#fff}
.share-actions button:active,.share-panel>header button:active{transform:scale(.98)}

@media(hover:hover) and (pointer:fine){
  .focus-key:hover{border-left-color:#c99c62;background:rgba(255,255,255,.075);transform:translateX(2px)}
  .share-actions button:hover,.share-panel>header button:hover{border-color:rgba(155,64,53,.45)}
}

@media(max-width:700px){
  .three-c.has-focus article:not(.is-focused){opacity:.86}.focus-key{margin-top:13px}
  .calculation .symbol-route{grid-template-columns:1fr;gap:8px}.symbol-route>i{transform:rotate(90deg);justify-self:center}
  .result-actions{flex-wrap:wrap}.result-actions button{min-width:calc(50% - 5px)}.result-actions .solid{flex-basis:100%}
  .share-dialog{width:calc(100vw - 18px);max-height:calc(100svh - 18px)}
  .share-panel{display:block;padding:16px;border-radius:22px;max-height:calc(100svh - 18px);overflow:auto}.share-panel>header{margin-bottom:14px}.share-panel>header h2{font-size:23px}
  .share-panel canvas{display:block;width:min(100%,380px);margin:auto;max-height:none;border-radius:15px}.share-note{margin:14px 0 8px}.share-actions{grid-template-columns:1fr 1fr}
}

@media(prefers-reduced-motion:reduce){
  .focus-key,.three-c.has-focus article,.share-panel{transition:none!important}.share-panel{opacity:1;transform:none}
}

/* 5.1 Three-part reading rail — textual titles replace numeric labels */
@media(min-width:701px){
  .three-c{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:38px}
  .three-c .section-title{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;padding:0 0 22px}
  .three-c .section-title p{grid-column:1;margin:0}.three-c .section-title h3{grid-column:2;margin:0}.three-c .section-title>span{grid-column:3;text-align:right}
  .three-c article{min-width:0;padding:28px 26px 30px}
}
.three-c article>span{
  position:relative;display:inline-block;margin:0 0 16px;padding-bottom:9px;color:#eee7da;
  font:600 clamp(22px,2vw,30px)/1.15 "Songti SC","Noto Serif SC",serif;letter-spacing:-.025em;
  transition:color 160ms ease-out,transform 220ms var(--ease-arrive),letter-spacing 220ms var(--ease-arrive);
}
.three-c article>span::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;border-radius:999px;background:#bc5648;
  transform:scaleX(.18);transform-origin:left;opacity:.5;transition:transform 240ms var(--ease-arrive),opacity 160ms ease-out;
}
.three-c article.is-focused>span{color:#fff5e7;transform:translateX(3px);letter-spacing:.015em}
.three-c article.is-focused>span::after{transform:scaleX(1);opacity:1}
.three-c article h4{margin-top:0;color:#b9b2a7;font-size:18px}

@media(hover:hover) and (pointer:fine){
  .three-c article:hover>span{color:#fff5e7;transform:translateX(2px)}
  .three-c article:hover>span::after{transform:scaleX(.65);opacity:.85}
}

@media(max-width:700px){
  .three-c article>span{font-size:25px;margin-top:2px}.three-c article h4{font-size:18px}
}

/* 5.2 Responsive dark glass — pointer position controls visual focus */
.three-c{position:relative;isolation:isolate;overflow:visible}
.three-c::before{
  content:"";position:absolute;z-index:0;left:12%;right:4%;top:18%;height:62%;pointer-events:none;
  background:radial-gradient(circle at 18% 44%,rgba(188,86,72,.13),transparent 31%),radial-gradient(circle at 78% 52%,rgba(201,156,98,.1),transparent 34%);
  filter:blur(52px);
}
.three-c>.section-title,.three-c>article{position:relative;z-index:1}
.three-c article{
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.032) 58%,rgba(201,156,98,.025));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 20px 46px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(201,156,98,.025);
  backdrop-filter:blur(18px) saturate(128%);-webkit-backdrop-filter:blur(18px) saturate(128%);
}
.three-c article::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.055),transparent 32%,rgba(188,86,72,.025));
  opacity:.65;transition:opacity 180ms ease-out;
}
.three-c.has-focus article:not(.is-focused){opacity:.58;transform:scale(.988)}
.three-c article.is-focused{
  opacity:1;transform:translateY(-4px) scale(1.006);border-color:rgba(201,156,98,.42);
  background:linear-gradient(135deg,rgba(255,255,255,.135),rgba(255,255,255,.052) 58%,rgba(188,86,72,.045));
  box-shadow:0 28px 64px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(201,156,98,.06);
}
.three-c article.is-focused::before{opacity:1}

@media(hover:hover) and (pointer:fine){
  .three-c article{transition:opacity 150ms ease-out,transform 220ms var(--ease-arrive),border-color 180ms ease-out,background-color 180ms ease-out,box-shadow 220ms ease-out}
}

@media(max-width:700px){
  .three-c::before{left:-20%;right:-20%;top:16%;height:72%}
  .three-c.has-focus article:not(.is-focused){opacity:.88;transform:none}
  .three-c article.is-focused{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .three-c article,.three-c article::before{transition:none!important}.three-c article.is-focused{transform:none}
}

/* 6.0 Editorial homepage — reference-led, culturally specific */
:root{
  --editorial-white:#fff;
  --editorial-ink:#141411;
  --editorial-red:#a63d2f;
  --editorial-clay:#9f3e32;
  --editorial-bronze:#9b7648;
  --editorial-porcelain:#f4f1ea;
  --editorial-parchment:#eee8dc;
  --editorial-muted:#6f6b63;
  --editorial-lacquer:#241f1c;
  --editorial-lacquer-deep:#1b1816;
  --editorial-line:rgba(47,40,33,.14);
  --silk-base:#f1e3b3;
  --silk-soft:#f7eed4;
  --silk-light:#fbf6e8;
  --rosewood:#5b2a2a;
  --rosewood-deep:#3e1b1d;
  --wood-ink:#2b211a;
  --wood-muted:#6b5c4d;
  --antique-gold:#b99c65;
  --antique-gold-ink:#75562a;
  --silk-line:rgba(91,42,42,.15);
}
body{background:var(--silk-soft);background-image:none;color:var(--wood-ink)}
.topbar{
  height:86px;padding:0 clamp(24px,3.2vw,54px);background:rgba(251,246,232,.94);
  border-bottom:1px solid var(--silk-line);backdrop-filter:blur(18px) saturate(118%);-webkit-backdrop-filter:blur(18px) saturate(118%)
}
.brand{gap:13px;color:var(--wood-ink)}
.brand-seal{width:40px;height:40px;border-radius:0;border-color:var(--rosewood);color:var(--rosewood);background:rgba(241,227,179,.28);font-size:19px}
.brand strong{font-size:24px;font-weight:600;letter-spacing:.1em;line-height:1.05}
.brand small{margin-top:5px;color:var(--wood-muted);font-size:10px;letter-spacing:.2em}
.topbar nav{gap:20px}
.topbar nav a{
  padding:10px 7px 9px;background:transparent;color:var(--wood-muted);
  font-family:"Songti SC","Noto Serif SC",serif;font-size:16px;font-weight:600;letter-spacing:.12em;line-height:1
}
.topbar nav a::after{left:7px;right:calc(7px + .12em);bottom:3px;background:var(--rosewood)}
.top-action{
  min-height:46px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--rosewood);
  border:1px solid rgba(91,42,42,.72);border-radius:999px;padding:10px 26px;
  font-family:"Songti SC","Noto Serif SC",serif;font-size:16px;font-weight:600;letter-spacing:.08em
}

.intro-stage{
  min-height:calc(100svh - 78px);display:block;padding:clamp(62px,8vh,88px) clamp(28px,3.5vw,58px) 126px;
  isolation:isolate;
  overflow:hidden;background:
    radial-gradient(circle at 15% 88%,rgba(185,156,101,.17),transparent 25%),
    linear-gradient(180deg,var(--silk-light) 0%,var(--silk-soft) 72%,var(--silk-base) 100%)
}
.intro-stage>.hero-liquid{
  position:absolute;z-index:0;inset:-8% -5% -3%;width:auto;height:auto;pointer-events:none;overflow:hidden;
  opacity:.62;mix-blend-mode:normal;transform-origin:50% 72%;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 68%,rgba(0,0,0,.78) 82%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 68%,rgba(0,0,0,.78) 82%,transparent 100%);
  will-change:transform,opacity
}
.hero-liquid::before{
  content:"";position:absolute;z-index:0;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 28% 24%,rgba(106,44,50,.16),transparent 38%),
    radial-gradient(ellipse at 72% 48%,rgba(164,123,67,.13),transparent 42%);
  opacity:.58
}
.hero-liquid::after{
  content:"";position:absolute;z-index:2;inset:64% 0 0;pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(241,227,179,.08) 48%,var(--silk-base) 100%)
}
.hero-liquid canvas{position:relative;z-index:1;filter:saturate(1.04) contrast(1.03);transform:translateZ(0)}
.hero-liquid.is-static::before{opacity:.9;filter:blur(26px)}
.intro-stage .hero-copy,.intro-stage .hero-note,.intro-stage .hero-trust-mobile,.intro-stage>.scroll-cue{z-index:3}
.intro-stage::after{display:none}.intro-stage .hero-copy{position:relative;width:100%;max-width:none;height:410px}
.intro-stage .hero-copy h1{position:absolute;inset:-58px 0 auto;z-index:1;margin:0;color:var(--wood-ink);font-size:clamp(104px,13.2vw,210px);font-weight:800;line-height:.86;letter-spacing:-.09em}
.intro-stage .hero-copy h1 span,.intro-stage .hero-copy h1 em{display:block;white-space:nowrap}
.intro-stage .hero-copy h1 span{margin-left:clamp(0px,12vw,205px)}
.intro-stage .hero-copy h1 em{margin:clamp(8px,1.5vh,18px) 0 0 clamp(165px,31vw,525px);color:var(--rosewood);font-style:normal}
.hero-note{
  position:absolute;bottom:46px;width:clamp(244px,18vw,284px);height:clamp(166px,20vh,184px);min-height:166px;margin:0;padding:18px 19px;
  display:flex;align-items:stretch;
  border:0;border-radius:0;background:transparent;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  color:#514439;font-family:"Songti SC","Noto Serif SC",serif;
  transition:none
}
.hero-note::before,.hero-note::after{display:none}
.hero-note-left{left:clamp(28px,3.5vw,58px);flex-direction:row-reverse;justify-content:space-between}
.hero-note-right{right:clamp(28px,3.5vw,58px);justify-content:flex-start;text-align:initial}
.hero-note-copy{
  height:100%;margin:0;display:flex;flex:0 0 auto;flex-direction:row-reverse;align-items:flex-start;gap:clamp(8px,.75vw,12px)
}
.hero-note-right .hero-note-copy{width:100%}
.hero-note-copy span{
  display:block;writing-mode:vertical-rl;text-orientation:upright;color:#514439;
  font-size:13px;font-weight:500;line-height:1;letter-spacing:.14em;
  transition:transform 220ms cubic-bezier(.22,1,.36,1),color 180ms ease-out
}
.hero-note-copy span:first-child{color:var(--rosewood);font-size:15px;font-weight:700;letter-spacing:.1em}
.hero-note-copy span:nth-child(2){margin-top:13px}.hero-note-copy span:nth-child(3){margin-top:3px}.hero-note-copy span:nth-child(4){margin-top:17px}
.hero-note-right .hero-note-copy span:nth-child(2){margin-top:17px}.hero-note-right .hero-note-copy span:nth-child(3){margin-top:5px}.hero-note-right .hero-note-copy span:nth-child(4){margin-top:20px}
.hero-note .trust{margin:0 0 0 9px;display:flex;flex:0 0 auto;flex-direction:row-reverse;align-self:flex-end;align-items:flex-end;gap:5px}.hero-note .trust span{
  writing-mode:vertical-rl;text-orientation:upright;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--rosewood);
  font:500 9px/1.15 "Noto Sans SC","Microsoft YaHei",sans-serif;letter-spacing:.12em;
  transition:color 180ms ease-out
}
.hero-trust-mobile{display:none}
.intro-stage>.scroll-cue{bottom:24px}.scroll-cue span{font-size:0}.intro-stage>.scroll-cue span::after{content:"SCROLL";font-size:8px;letter-spacing:.2em}
.intro-stage>.scroll-cue,.coin-stage .scroll-cue{color:var(--wood-muted)}.intro-stage>.scroll-cue i,.coin-stage .scroll-cue i{background:linear-gradient(var(--rosewood),transparent)}

.coin-stage{height:156svh;background:var(--silk-base)}.coin-scene{height:100svh;min-height:650px;position:relative;isolation:isolate;background:
  radial-gradient(circle at 50% 47%,rgba(255,251,237,.72),transparent 32%),
  linear-gradient(180deg,var(--silk-base) 0%,var(--silk-soft) 18%,var(--silk-base) 100%)
}
.coin-scene::before{display:none}
.coin-wordmark{
  position:absolute;z-index:0;inset:50% clamp(24px,3.5vw,58px) auto;transform:translateY(-54%);
  display:flex;align-items:center;justify-content:space-between;pointer-events:none
}
.coin-wordmark span{font:700 clamp(230px,34vw,560px)/.75 "Songti SC","Noto Serif SC",serif;letter-spacing:-.12em;will-change:transform,opacity}
.coin-wordmark span:first-child{color:rgba(168,139,86,.78)}.coin-wordmark span:last-child{color:var(--rosewood)}
.coin-stage .coin-wrap{z-index:2}.coin-stage .coin-real{
  width:clamp(330px,38vw,590px);background-size:100% 100%;image-rendering:auto;
  filter:contrast(1.075) saturate(1.035) drop-shadow(0 34px 32px rgba(36,27,18,.22));
  backface-visibility:hidden;transform-origin:50% 50%
}
.coin-stage .coin-wrap p{margin-top:24px;color:var(--wood-muted);font-size:10px;letter-spacing:.16em}.coin-stage .coin-wrap p a{color:var(--rosewood)}
.coin-note{position:absolute;z-index:3;bottom:64px;margin:0;font:500 12px/1.6 "Songti SC","Noto Serif SC",serif;letter-spacing:.08em;color:var(--wood-ink)}
.coin-note-left{left:clamp(28px,4vw,66px)}.coin-note-right{right:clamp(28px,4vw,66px)}

.cast-stage{
  min-height:132svh;padding:clamp(168px,19vh,196px) 24px clamp(100px,12vh,130px);color:var(--wood-ink);overflow:hidden;
  background:
    radial-gradient(circle at 18% 72%,rgba(91,42,42,.11),transparent 28%),
    radial-gradient(circle at 78% 24%,rgba(185,156,101,.2),transparent 30%),
    linear-gradient(145deg,#e8d49a 0%,var(--silk-soft) 48%,var(--silk-base) 100%)
}
.cast-stage::before{display:none}.cast-section-title{
  position:absolute;left:0;right:0;top:0;height:112px;padding:0 clamp(28px,4vw,66px);display:flex;align-items:center;justify-content:center;gap:16px;
  background:rgba(247,238,212,.82);color:var(--wood-ink);border-bottom:1px solid var(--silk-line);
  box-shadow:inset 0 1px 0 rgba(255,252,239,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  font-family:"Songti SC","Noto Serif SC",serif
}
.cast-section-title strong{font-size:28px}.cast-brush-mark{width:164px;height:74px;display:inline-flex;align-items:center;justify-content:center;color:var(--wood-ink);line-height:1}.cast-brush-mark svg{display:block;width:100%;height:100%;overflow:visible;shape-rendering:geometricPrecision}.cast-brush-type{fill:currentColor;font-family:"Songti SC","Noto Serif SC","STSong",serif;font-size:820px;font-weight:600}.cast-brush-final{opacity:1}.cast-section-title i{width:4px;height:4px;border-radius:50%;background:var(--rosewood)}.cast-section-title span{color:var(--wood-muted);font-size:17px}
.cast-atmosphere{z-index:0}.cast-atmosphere span{display:none}
.cast-atmosphere i{display:none}.cast-atmosphere::before,.cast-atmosphere::after{display:block;opacity:.58}
.cast-atmosphere::before{background:rgba(91,42,42,.1)}.cast-atmosphere::after{background:rgba(185,156,101,.18)}
.cast-stage .cast-card{
  z-index:1;width:min(840px,calc(100vw - 48px));padding:clamp(34px,4vw,54px);
  color:var(--wood-ink);background:linear-gradient(135deg,rgba(255,251,235,.8),rgba(241,227,179,.42));
  border:1px solid rgba(255,252,239,.92);border-radius:30px;
  box-shadow:0 38px 100px rgba(70,42,28,.15),inset 0 1px 0 rgba(255,252,239,.76),inset 0 0 0 1px rgba(91,42,42,.055);
  backdrop-filter:blur(30px) saturate(132%);-webkit-backdrop-filter:blur(30px) saturate(132%)
}
.cast-stage .cast-card::before{background:linear-gradient(115deg,rgba(255,252,239,.38),transparent 32%,rgba(255,252,239,.09) 62%,rgba(91,42,42,.035));border-color:rgba(255,252,239,.42)}
.cast-stage .card-heading{justify-content:flex-start;text-align:left;margin-bottom:28px}.cast-stage .card-heading>div>span,.cast-stage .card-heading p{display:block}
.cast-stage .card-heading>div>span{color:var(--rosewood)}.cast-stage .card-heading h2{margin:7px 0 4px;color:var(--wood-ink);font-size:clamp(32px,4vw,42px);font-weight:600;letter-spacing:-.025em}
.cast-stage .card-heading p{color:var(--wood-muted)}
.cast-stage .question-field>span,.cast-stage fieldset legend{color:var(--wood-ink)}
.cast-stage .question-field small,.cast-stage .question-field>b,.cast-stage .number-entry>span,.cast-stage .number-entry small,.cast-stage .question-mode>span,.cast-stage .question-mode small{color:var(--wood-muted)}
.cast-stage .question-field textarea,.cast-stage .number-entry{
  color:var(--wood-ink);background:rgba(255,249,226,.62);border-color:var(--silk-line);box-shadow:inset 0 1px 0 rgba(255,252,239,.7);
  transition:background-color .22s ease-out,border-color .22s ease-out,box-shadow .28s var(--ease-arrive),transform .28s var(--ease-arrive)
}
.cast-stage .question-field textarea::placeholder,.cast-stage .number-entry input::placeholder{color:#806f5c}
.cast-stage .number-entry input{color:var(--wood-ink);border-bottom-color:rgba(91,42,42,.18);caret-color:var(--rosewood)}
.cast-stage .number-entry small{display:none}
.cast-stage .question-field textarea:focus,.cast-stage .number-entry:focus-within{
  background:rgba(255,252,239,.96);border-color:rgba(91,42,42,.48);box-shadow:0 0 0 5px rgba(91,42,42,.08),0 16px 34px rgba(70,42,28,.1),inset 0 1px 0 rgba(255,252,239,.84)
}
.cast-stage .number-entry:focus-within{transform:translateY(-2px)}
.cast-stage .number-entry::before{background:linear-gradient(90deg,transparent,rgba(91,42,42,.62) 18%,rgba(91,42,42,.62) 82%,transparent)}
.cast-stage .number-entry::after{border-color:var(--rosewood);color:var(--rosewood)}
.cast-stage .question-field>span::after,.cast-stage .question-field:focus-within>b,.cast-stage .cast-card.is-ready .entry-flow b{color:var(--rosewood)}
.cast-stage .number-entry.is-complete{background:rgba(255,250,232,.9);border-color:rgba(185,156,101,.48)}
.cast-stage .question-mode{border-color:rgba(91,42,42,.1)}.cast-stage .question-mode strong{color:var(--rosewood);background:rgba(91,42,42,.08);border-color:rgba(91,42,42,.17)}
.cast-stage .entry-flow,.cast-stage .entry-flow b{color:var(--wood-muted)}.cast-stage .entry-flow>span{background:transparent}.cast-stage .entry-flow>span::before{background:rgba(91,42,42,.15)}.cast-stage .entry-flow>span::after{background:var(--rosewood)}.cast-stage .entry-flow i{border-color:rgba(91,42,42,.3);background:var(--silk-soft)}
.cast-stage .entry-flow i.is-lit{background:var(--rosewood);border-color:var(--rosewood);box-shadow:0 0 0 4px rgba(91,42,42,.09)}
.cast-stage .error{color:var(--rosewood)}.cast-stage .primary{background:var(--rosewood);border:1px solid var(--rosewood);color:var(--silk-light);box-shadow:0 16px 34px rgba(62,27,29,.2)}
.cast-stage .secondary{color:var(--wood-ink);background:rgba(255,249,226,.64);border-color:rgba(91,42,42,.2)!important}

.method,.history{color:var(--wood-ink)}
.method>.section-title p,.history>.section-title p{color:var(--rosewood)}
.method>.section-title h3,.history>.section-title h3{color:var(--rosewood)}
.method>.section-title>span,.history>.section-title>span,.steps p,.history-item p,.empty{color:var(--wood-muted)}
.steps article{
  background:linear-gradient(145deg,rgba(255,249,226,.68),rgba(241,227,179,.34));
  border-color:var(--silk-line)!important;box-shadow:inset 0 2px 0 rgba(91,42,42,.18),inset 0 1px 0 rgba(255,252,239,.62)
}
.steps b{color:var(--rosewood)}.steps h4{color:var(--wood-ink)}
.trigrams{background:rgba(255,249,226,.5);border-color:var(--silk-line)}
.trigrams span{color:var(--rosewood-deep);border-color:var(--silk-line)}
.history{border-top-color:var(--silk-line)}
.history-item{background:linear-gradient(145deg,rgba(255,249,226,.7),rgba(241,227,179,.38));border-color:var(--silk-line);color:var(--wood-ink)}
.history-item span{color:var(--rosewood)}.history-item h4{color:var(--wood-ink)}
.contact-section{
  position:relative;overflow:hidden;padding:clamp(72px,9vw,132px) clamp(18px,4vw,64px);
  background:radial-gradient(circle at 12% 88%,rgba(185,156,101,.2),transparent 24%),radial-gradient(circle at 88% 16%,rgba(91,42,42,.09),transparent 27%),linear-gradient(180deg,var(--silk-light),var(--silk-soft))
}
.contact-section::before{content:"信";position:absolute;right:-.04em;bottom:-.34em;color:rgba(91,42,42,.035);font:800 clamp(280px,36vw,560px)/1 "Songti SC","Noto Serif SC",serif;pointer-events:none}
.contact-glass{
  --spec-angle:128deg;--spec-opacity:.4;--spec-x:50%;--spec-y:50%;
  position:relative;isolation:isolate;width:min(1120px,100%);min-height:430px;margin:auto;padding:clamp(42px,5vw,72px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  border:1px solid rgba(91,42,42,.22);border-radius:clamp(28px,4vw,48px);color:var(--wood-ink);
  background:linear-gradient(135deg,rgba(255,252,239,.72),rgba(241,227,179,.36));
  box-shadow:0 34px 90px rgba(76,53,32,.18),0 0 54px rgba(185,156,101,.12),inset 0 1px 0 rgba(255,255,255,.88),inset 0 -1px 0 rgba(91,42,42,.1);
  backdrop-filter:blur(28px) saturate(124%);-webkit-backdrop-filter:blur(28px) saturate(124%);transform:translateZ(0)
}
.contact-glass::before{
  content:"";position:absolute;z-index:0;inset:-3px;padding:3px;border-radius:inherit;pointer-events:none;
  background:conic-gradient(from var(--spec-angle),transparent 0 17%,rgba(91,42,42,.68) 22%,#d8b76f 27%,#fff2b8 31%,#b88a3e 35%,rgba(91,42,42,.76) 40%,transparent 47% 66%,rgba(185,156,101,.3) 74%,rgba(255,239,178,.86) 79%,transparent 87%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  opacity:var(--spec-opacity);filter:drop-shadow(0 0 7px rgba(255,232,159,.9)) drop-shadow(0 0 18px rgba(185,126,55,.58));transition:opacity 150ms ease-out
}
.contact-glass::after{content:"";position:absolute;z-index:0;inset:-2px;border-radius:inherit;pointer-events:none;background:radial-gradient(150px circle at var(--spec-x) var(--spec-y),rgba(255,241,177,.62),rgba(197,145,65,.36) 32%,transparent 72%),radial-gradient(520px circle at var(--spec-x) var(--spec-y),rgba(91,42,42,.25),rgba(185,156,101,.18) 40%,transparent 74%);mix-blend-mode:multiply;opacity:var(--spec-opacity);transition:opacity 150ms ease-out}
.contact-glass>*{position:relative;z-index:1}
.contact-kicker{margin:0 0 22px;color:var(--rosewood);font:600 12px/1 "Songti SC","Noto Serif SC",serif;letter-spacing:.18em}
.contact-kicker span{display:inline-block;width:28px;margin:0 10px 3px 0;border-top:1px solid currentColor}
.contact-heading h2{margin:0;color:var(--rosewood-deep);font:700 clamp(34px,4.5vw,62px)/1.08 "Songti SC","Noto Serif SC",serif;letter-spacing:-.025em}
.contact-heading p{margin:15px 0 0;color:var(--wood-muted);font:500 14px/1.8 "Songti SC","Noto Serif SC",serif;letter-spacing:.06em}
.contact-mail{appearance:none;width:min(720px,100%);margin:34px 0 30px;padding:19px 22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;color:var(--wood-ink);font:inherit;text-align:center;cursor:pointer;border:1px solid rgba(91,42,42,.16);border-radius:20px;background:rgba(255,252,239,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.66);transition:transform 200ms cubic-bezier(.22,1,.36,1),background-color 160ms ease-out,border-color 160ms ease-out,box-shadow 200ms ease-out}
.contact-mail span{color:var(--rosewood);font:600 11px/1 "Songti SC","Noto Serif SC",serif;letter-spacing:.2em}
.contact-mail strong{overflow-wrap:anywhere;font:600 clamp(17px,2.1vw,25px)/1.2 "Songti SC","Noto Serif SC",serif;letter-spacing:.035em}
.contact-mail i{color:var(--antique-bronze);font-style:normal;font-size:20px;transition:transform 180ms cubic-bezier(.22,1,.36,1)}
.contact-mail:active{transform:scale(.985)}
.contact-mail:focus-visible{outline:2px solid var(--rosewood);outline-offset:4px}
.contact-mail.is-copied{border-color:rgba(156,120,68,.58);background:rgba(241,227,179,.62);box-shadow:0 14px 32px rgba(116,78,32,.14),inset 0 1px 0 rgba(255,255,255,.84)}
.social-block{width:min(560px,100%)}.social-list{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,2vw,22px)}
.social-item{display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--wood-muted)}.social-item small{font:500 10px/1.2 "Noto Sans SC","Microsoft YaHei",sans-serif;letter-spacing:.04em}
.social-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(91,42,42,.13);border-radius:17px;background:rgba(255,252,239,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 22px rgba(72,48,28,.08);transition:transform 200ms cubic-bezier(.22,1,.36,1),border-color 160ms ease-out,box-shadow 200ms ease-out,background-color 160ms ease-out}
.social-icon svg{width:26px;height:26px;overflow:visible}.social-icon-douyin svg{fill:var(--wood-ink)}
.social-icon-xhs svg rect,.social-icon-youtube svg rect{fill:var(--rosewood)}.social-icon-xhs svg text{fill:var(--silk-light);font:700 11px "Songti SC","Noto Serif SC",serif}
.social-icon-instagram svg{fill:none;stroke:var(--rosewood);stroke-width:1.7}.social-icon-instagram .social-dot{fill:var(--rosewood);stroke:none}.social-icon-youtube .social-play{fill:var(--silk-light)}
.social-block>p{margin:16px 0 0;color:var(--wood-muted);font-size:10px;letter-spacing:.14em}
footer{background:var(--rosewood);border-color:var(--rosewood-deep);color:var(--silk-light);box-shadow:0 18px 46px rgba(62,27,29,.14)}
footer p{color:rgba(251,246,232,.72)}footer a{color:var(--silk-base)}

.result{
  margin:clamp(18px,2vw,28px);background:var(--editorial-lacquer);border:1px solid rgba(155,118,72,.14);
  box-shadow:0 40px 100px rgba(45,32,25,.18),inset 0 1px 0 rgba(255,255,255,.035)
}
.result-top{background:radial-gradient(circle at 49% 32%,rgba(155,118,72,.06),transparent 30%)}
.result-top>div>p,.result-summary p,.three-c article p{color:#b7ada2}
.result .section-title>span{color:#aaa198}
.derived{background:var(--editorial-parchment)}
.result-actions .solid{background:var(--editorial-porcelain);border-color:var(--editorial-porcelain)}

@media(hover:hover) and (pointer:fine){
  .brand:hover,.topbar nav a:hover{color:var(--rosewood)}.topbar nav a:hover{background:transparent}.brand:hover .brand-seal{background:var(--rosewood);color:var(--silk-light)}
  .top-action:hover{background:var(--rosewood);color:var(--silk-light)}.cast-stage .secondary:hover{background:rgba(255,252,239,.92);border-color:rgba(91,42,42,.42)!important;color:var(--rosewood)}
  .steps article:hover,.history-item:hover{border-color:rgba(91,42,42,.32)!important;background:rgba(255,249,226,.86);box-shadow:0 18px 42px rgba(91,42,42,.1)}
  .history-item:hover h4{color:var(--rosewood)}
  .coin-stage .coin-wrap:hover .coin-real{filter:contrast(1.085) saturate(1.045) drop-shadow(0 40px 42px rgba(47,38,25,.22))}
  .contact-mail:hover{transform:translateY(-2px);background:rgba(255,252,239,.72);border-color:rgba(91,42,42,.32);box-shadow:0 16px 32px rgba(72,48,28,.11),inset 0 1px 0 rgba(255,255,255,.8)}
  .contact-mail:hover i{transform:translateY(-2px) scale(1.08)}
  .social-item:hover .social-icon{transform:translateY(-3px);background:rgba(255,252,239,.78);border-color:rgba(91,42,42,.28);box-shadow:0 15px 30px rgba(72,48,28,.12),inset 0 1px 0 rgba(255,255,255,.86)}
}

@media(max-width:1050px) and (min-width:701px){
  .intro-stage{padding-left:34px;padding-right:34px}.intro-stage .hero-copy{height:360px}.intro-stage .hero-copy h1{inset:-42px 0 auto;font-size:clamp(100px,14vw,154px)}
  .intro-stage .hero-copy h1 span{margin-left:7vw}.intro-stage .hero-copy h1 em{margin-left:23vw}
  .coin-wordmark span{font-size:34vw}.coin-stage .coin-real{width:min(48vw,500px)}
}

@media(max-width:700px){
  .topbar{height:58px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));background:rgba(251,246,232,.96)}
  .brand{gap:8px}.brand-seal{width:34px;height:34px;font-size:16px}.brand strong{font-size:18px}.brand small,.top-action{display:none}
  .topbar nav{display:flex;margin-left:auto;gap:0}
  .topbar nav a{min-width:44px;min-height:44px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.04em}
  .intro-stage{min-height:max(calc(100svh - 58px),660px);padding:9vh 18px 156px}
  .intro-stage>.hero-liquid{inset:-4% -18% 0;opacity:.56;mix-blend-mode:normal}
  .hero-liquid::after{inset:68% 0 0}
  .intro-stage .hero-copy{height:390px}
  .intro-stage .hero-copy h1{
    inset:-8px auto auto 50%;width:max-content;max-width:calc(100vw - 48px);transform:translateX(-50%);
    display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:clamp(20px,6.5vw,30px);
    font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(66px,19.5vw,80px);font-weight:800;line-height:.94;letter-spacing:.025em
  }
  .intro-stage .hero-copy h1 span,.intro-stage .hero-copy h1 em{
    display:block;margin:0;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap
  }
  .intro-stage .hero-copy h1 em{margin-top:clamp(100px,30vw,118px)}
  .hero-note{bottom:46px;width:min(242px,calc(100vw - 88px));height:146px;min-height:146px;padding:13px 14px}.hero-note-right{display:none}.hero-note-left{left:14px}.hero-note-copy{gap:7px}.hero-note-copy span{font-size:11px;letter-spacing:.1em}.hero-note-copy span:first-child{font-size:13px}.hero-note-copy span:nth-child(2){margin-top:9px}.hero-note-copy span:nth-child(3){margin-top:2px}.hero-note-copy span:nth-child(4){margin-top:12px}.hero-note .trust{margin-left:7px;gap:4px}.hero-note .trust span{font-size:7.5px}
  .intro-stage>.scroll-cue{right:18px;left:auto;transform:none;bottom:24px}
  .coin-stage{height:112svh}.coin-scene{min-height:560px}.coin-wordmark{inset:50% auto auto 50%;transform:translate(-50%,-54%);flex-direction:column;justify-content:center;gap:.05em}
  .coin-wordmark span{font-size:42vw;line-height:.72;letter-spacing:-.08em}.coin-stage .coin-real{width:min(73vw,330px)}
  .coin-stage .coin-wrap p{max-width:250px;margin-left:auto;margin-right:auto;line-height:1.7}.coin-note{bottom:60px;font-size:9px}.coin-note-right{display:none}
  .cast-stage{min-height:118svh;padding:126px 12px 80px}.cast-section-title{height:88px;padding:0 18px;gap:12px}.cast-section-title strong{font-size:23px}.cast-brush-mark{width:126px;height:58px}.cast-section-title span{font-size:14px}
  .cast-stage .cast-card{width:100%;padding:26px 16px 20px;border-radius:24px}.cast-stage .card-heading h2{font-size:30px}
  .cast-stage .question-mode{grid-template-columns:max-content max-content;justify-content:start;align-items:flex-start}.cast-stage .question-mode strong{width:max-content;justify-self:start}.cast-stage .number-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cast-stage .number-entry input{font-size:25px}
  .result{margin:12px 7px 7px}
  .contact-section{padding:64px 10px}
  .contact-glass{min-height:0;padding:42px 18px 38px;border-radius:28px}
  .contact-kicker{margin-bottom:18px;font-size:10px}
  .contact-heading h2{font-size:34px}
  .contact-heading p{font-size:12px}
  .contact-mail{margin:28px 0 26px;padding:16px 14px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;border-radius:17px}
  .contact-mail strong{font-size:15px;letter-spacing:0}
  .contact-mail i{font-size:17px}
  .social-list{gap:5px}
  .social-icon{width:46px;height:46px;border-radius:15px}
  .social-icon svg{width:23px;height:23px}
  .social-item small,.social-block>p{font-size:9px}
  .share-panel{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  footer{padding-bottom:calc(25px + env(safe-area-inset-bottom))}
}

@media(prefers-reduced-motion:reduce){
  .coin-stage{height:100svh}.coin-wordmark span,.coin-note,.cast-section-title,.contact-glass{opacity:1!important;transform:none!important}.hero-liquid{display:none}.contact-glass::before,.contact-glass::after{transition:none}
}
.motion-fallback .coin-stage{height:100svh}

/* 2.3 reading deck — quiet spatial cards */
.reading-deck{
  --deck-ink:#f5f5f7;--deck-secondary:rgba(245,245,247,.62);--deck-tertiary:rgba(245,245,247,.42);
  --deck-line:rgba(255,255,255,.10);--deck-surface:rgba(43,40,38,.82);--deck-accent:#c96a5a;
  padding-top:clamp(48px,6vw,76px);padding-bottom:clamp(54px,7vw,88px);border-top-color:rgba(255,255,255,.08)
}
.reading-deck-heading{max-width:1040px;margin:0 auto 30px;align-items:flex-end}
.reading-deck-heading p{color:var(--deck-secondary);font:600 11px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Noto Sans SC",sans-serif;letter-spacing:.12em}
.reading-deck-heading h3{color:var(--deck-ink);font:650 clamp(28px,3vw,40px)/1.18 -apple-system,BlinkMacSystemFont,"SF Pro Display","Noto Sans SC",sans-serif;letter-spacing:-.035em}
.reading-deck-heading>span{color:var(--deck-secondary);font:400 12px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Noto Sans SC",sans-serif}
.deck-shell{max-width:1160px;margin:auto;grid-template-columns:52px minmax(0,1fr) 52px;gap:18px}
.deck-stage{height:426px;cursor:grab;user-select:none;-webkit-user-select:none}
.deck-stage.is-dragging{cursor:grabbing}
.reading-card{
  top:16px;width:304px;height:372px;margin-left:-152px;padding:28px 26px;border-color:var(--deck-line);border-radius:28px;
  background:linear-gradient(155deg,rgba(58,55,52,.92),rgba(32,30,29,.94));
  -webkit-backdrop-filter:blur(24px) saturate(125%);backdrop-filter:blur(24px) saturate(125%);
  box-shadow:0 2px 0 rgba(255,255,255,.055) inset,0 24px 72px rgba(0,0,0,.30);
  will-change:auto;transition:border-color 180ms ease-out,box-shadow 220ms cubic-bezier(.22,1,.36,1),background-color 180ms ease-out
}
.reading-card::before{background:radial-gradient(circle at 20% 4%,rgba(255,255,255,.12),transparent 32%),linear-gradient(145deg,rgba(255,255,255,.025),transparent 58%)}
.reading-card::after{content:"";position:absolute;left:26px;right:26px;bottom:20px;height:1px;background:linear-gradient(90deg,var(--deck-accent) 0 28px,rgba(255,255,255,.08) 28px)}
.reading-card.is-active{border-color:rgba(255,255,255,.18);background:linear-gradient(155deg,rgba(66,62,59,.97),rgba(35,33,32,.98));box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 34px 90px rgba(0,0,0,.42),0 0 0 1px rgba(201,106,90,.15)}
.reading-card:active{box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 18px 54px rgba(0,0,0,.34)}
.reading-card:focus-visible{outline:3px solid rgba(201,106,90,.72);outline-offset:5px}
.reading-card>span{color:var(--deck-tertiary);font:600 11px/1 -apple-system,BlinkMacSystemFont,"SF Mono",monospace;letter-spacing:.08em}
.reading-card h4{margin:19px 0 7px;color:var(--deck-ink);font:650 27px/1.24 -apple-system,BlinkMacSystemFont,"SF Pro Display","Noto Sans SC",sans-serif;letter-spacing:-.025em}
.reading-card small{color:var(--deck-secondary);font:450 12px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Text","Noto Sans SC",sans-serif}
.reading-card strong{margin:22px 0 16px;padding:0;background:none;color:#f2d7d1;font:560 13px/1.75 -apple-system,BlinkMacSystemFont,"SF Pro Text","Noto Sans SC",sans-serif}
.reading-card p{color:var(--deck-secondary);font:400 12px/1.85 -apple-system,BlinkMacSystemFont,"SF Pro Text","Noto Sans SC",sans-serif;-webkit-line-clamp:6}
.deck-arrow{width:48px;height:48px;border-color:var(--deck-line);background:rgba(255,255,255,.055);color:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.08) inset;transition:transform 180ms cubic-bezier(.22,1,.36,1),background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out}
.deck-arrow:hover,.deck-arrow:focus-visible{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.11);color:#fff;outline:none;transform:scale(1.04)}
.deck-arrow:active{transform:scale(.96)}
.deck-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin:2px 0 32px}
.deck-dots{gap:5px;margin:0;padding:5px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.035)}
.deck-dots button{width:24px;height:28px;padding:0;border:0;background:transparent;display:grid;place-items:center;border-radius:999px}
.deck-dots button span{display:block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.28);transition:width 220ms cubic-bezier(.22,1,.36,1),background-color 160ms ease-out}
.deck-dots button:hover span{background:rgba(255,255,255,.62)}
.deck-dots button.is-active{background:rgba(255,255,255,.075);transform:none}
.deck-dots button.is-active span{width:14px;background:var(--deck-accent)}
.deck-position{display:flex;align-items:center;gap:7px;margin:0;color:var(--deck-tertiary);font:600 10px/1 -apple-system,BlinkMacSystemFont,"SF Mono",monospace;letter-spacing:.06em}
.deck-position #deck-current{color:var(--deck-ink)}.deck-position i{width:18px;height:1px;background:rgba(255,255,255,.18)}
.reading-visuals{max-width:1040px;min-height:238px;margin:auto;border-color:rgba(255,255,255,.09);border-radius:28px;background:rgba(255,255,255,.045);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(255,255,255,.055) inset,0 22px 60px rgba(0,0,0,.18)}
.reading-visual{padding:30px 34px;color:var(--deck-ink)}
.reading-visual.is-active{animation:appleVisualIn 240ms cubic-bezier(.22,1,.36,1) both}
@keyframes appleVisualIn{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}
.reading-visual>header{margin-bottom:26px}.reading-visual>header span{color:var(--deck-accent);font-family:-apple-system,BlinkMacSystemFont,"SF Mono",monospace}.reading-visual>header h4{color:var(--deck-ink);font:600 17px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Noto Sans SC",sans-serif;letter-spacing:-.015em}
.condition-map article,.relation-map article,.balance-map>div,.risk-map article,.branches article{border-color:rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.035)}
.relation-map article.self,.risk-map article.stop{border-color:rgba(201,106,90,.44);background:rgba(201,106,90,.06)}
.condition-map p,.risk-map b,.ledger-map b,.signal-map p,.branches p{color:var(--deck-secondary)}
.relation-map span,.risk-map span,.ledger-map span,.balance-map span,.branch-map span{color:#d2887b}
.signal-map::before,.ledger-map,.ledger-map li+li{border-color:rgba(255,255,255,.09)}
.signal-map i{background:#292624;border-color:#c96a5a}.signal-map article.active i{background:#c96a5a;box-shadow:0 0 0 6px rgba(201,106,90,.12)}
.branch-map .origin{border-radius:999px;background:#a94f43;padding:8px 19px}

@media(hover:hover) and (pointer:fine){.reading-card:not(.is-active):hover{border-color:rgba(255,255,255,.17)}.reading-card.is-active:hover{box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 38px 96px rgba(0,0,0,.46),0 0 0 1px rgba(201,106,90,.18)}}
@media(max-width:1050px){.reading-card{width:278px;height:358px;margin-left:-139px}.deck-stage{height:408px}}
@media(max-width:700px){
  .reading-deck{padding:40px 14px 48px}.reading-deck-heading{margin-bottom:20px;padding:0 4px}.reading-deck-heading h3{font-size:30px}
  .deck-shell{grid-template-columns:44px minmax(0,1fr) 44px;gap:0}.deck-arrow{width:44px;height:44px}.deck-stage{height:374px}
  .reading-card{top:8px;width:min(248px,72vw);height:342px;margin-left:max(-124px,-36vw);padding:24px 22px;border-radius:25px}.reading-card h4{font-size:24px}.reading-card strong{margin-top:19px}.reading-card p{-webkit-line-clamp:6}
  .deck-navigation{margin-top:0;margin-bottom:24px;gap:12px}.deck-dots{gap:0}.deck-dots button{width:44px;min-width:44px;height:44px;min-height:44px}.deck-position{display:none}
  .reading-visuals{border-radius:24px}.reading-visual{padding:24px 18px}.reading-visual>header{margin-bottom:20px}
}
@media(max-width:340px){.deck-dots{display:none}}
@media(prefers-reduced-motion:reduce){.reading-card,.deck-arrow,.deck-dots button span,.reading-visual.is-active{animation:none!important;transition:none!important}.deck-stage{cursor:default}}

/* 2.4 liquid-glass material — derived from the supplied reference */
.reading-deck{position:relative;isolation:isolate;background:
  radial-gradient(ellipse 38% 24% at 16% 38%,rgba(218,170,121,.075),transparent 72%),
  radial-gradient(ellipse 30% 25% at 85% 50%,rgba(86,164,176,.055),transparent 74%)}
.reading-deck::before,.reading-deck::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(70px);pointer-events:none;opacity:.58}
.reading-deck::before{width:360px;height:210px;left:9%;top:28%;background:rgba(194,125,82,.12);transform:rotate(-18deg)}
.reading-deck::after{width:310px;height:240px;right:7%;top:34%;background:rgba(86,154,168,.09);transform:rotate(22deg)}
.reading-deck-heading,.deck-shell,.deck-navigation,.reading-visuals{position:relative;z-index:1}
.reading-card{
  --glass-x:24%;--glass-y:8%;
  border:1px solid rgba(255,255,255,.22);
  background:
    linear-gradient(145deg,rgba(255,255,255,.135),rgba(255,255,255,.035) 34%,rgba(255,255,255,.018) 67%,rgba(255,255,255,.085)),
    rgba(41,38,36,.56);
  -webkit-backdrop-filter:blur(30px) saturate(145%) contrast(104%);backdrop-filter:blur(30px) saturate(145%) contrast(104%);
  box-shadow:
    inset 0 1.5px 1px rgba(255,255,255,.44),inset 1.5px 0 1px rgba(255,255,255,.14),
    inset -1.5px 0 1px rgba(96,193,202,.10),inset 0 -1px 1px rgba(163,119,232,.11),
    0 34px 78px rgba(0,0,0,.38),0 7px 18px rgba(0,0,0,.22)
}
.reading-card::before{
  opacity:1;background:
    radial-gradient(circle 175px at var(--glass-x) var(--glass-y),rgba(255,255,255,.22),rgba(255,255,255,.055) 36%,transparent 68%),
    linear-gradient(118deg,transparent 18%,rgba(255,255,255,.055) 39%,transparent 55%);
  transition:background-position 160ms ease-out
}
.reading-card::after{
  inset:0;left:0;right:0;bottom:0;height:auto;padding:1px;border-radius:inherit;pointer-events:none;
  background:conic-gradient(from 210deg at 50% 50%,rgba(255,255,255,.08),rgba(255,222,199,.72),rgba(193,177,255,.62),rgba(106,226,221,.66),rgba(255,255,255,.52),rgba(255,189,153,.48),rgba(255,255,255,.08));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.58
}
.reading-card.is-active{
  border-color:rgba(255,255,255,.38);
  background:
    linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.045) 38%,rgba(255,255,255,.025) 67%,rgba(255,255,255,.105)),
    rgba(45,41,39,.59);
  box-shadow:
    inset 0 2px 1px rgba(255,255,255,.58),inset 2px 0 1px rgba(255,225,205,.19),
    inset -2px 0 1px rgba(105,224,218,.17),inset 0 -2px 1px rgba(161,127,236,.18),
    0 42px 100px rgba(0,0,0,.47),0 11px 28px rgba(0,0,0,.28),
    0 0 30px rgba(110,207,211,.055),0 0 0 1px rgba(255,255,255,.07)
}
.reading-card.is-active::after{opacity:.88}
.reading-card strong{position:relative;margin:20px -10px 15px;padding:13px 14px;border:1px solid rgba(255,255,255,.105);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 10px 26px rgba(0,0,0,.12);color:#f5ded9}
.reading-card>span{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}
.deck-arrow{border-color:rgba(255,255,255,.23);background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.035));-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);box-shadow:inset 0 1px 1px rgba(255,255,255,.36),inset 0 -1px 1px rgba(116,208,210,.12),0 13px 28px rgba(0,0,0,.25)}
.deck-arrow:hover,.deck-arrow:focus-visible{border-color:rgba(255,255,255,.4);background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.07));box-shadow:inset 0 1px 1px rgba(255,255,255,.48),0 17px 34px rgba(0,0,0,.3),0 0 18px rgba(105,215,211,.08)}
.deck-dots{border-color:rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.025));-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:inset 0 1px 1px rgba(255,255,255,.3),0 14px 30px rgba(0,0,0,.2)}
.deck-dots button.is-active{background:linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 5px 14px rgba(0,0,0,.18)}
.deck-dots button.is-active span{background:#d96f60;box-shadow:0 0 10px rgba(217,111,96,.46)}
.reading-visuals{
  border-color:rgba(255,255,255,.24);
  background:
    radial-gradient(circle at 8% 0,rgba(255,220,196,.09),transparent 26%),
    radial-gradient(circle at 96% 100%,rgba(103,213,210,.075),transparent 27%),
    linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.025)),rgba(39,36,34,.52);
  -webkit-backdrop-filter:blur(30px) saturate(140%);backdrop-filter:blur(30px) saturate(140%);
  box-shadow:inset 0 1.5px 1px rgba(255,255,255,.36),inset 1px 0 1px rgba(255,220,197,.12),inset -1px 0 1px rgba(104,214,211,.11),0 30px 76px rgba(0,0,0,.29)
}
.condition-map article,.relation-map article,.balance-map>div,.risk-map article,.branches article{border-color:rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 10px 24px rgba(0,0,0,.1)}
.relation-map article.self,.risk-map article.stop{border-color:rgba(218,111,94,.52);background:linear-gradient(145deg,rgba(218,111,94,.12),rgba(255,255,255,.025))}
@media(hover:hover) and (pointer:fine){.reading-card:not(.is-active):hover{border-color:rgba(255,255,255,.32)}.reading-card.is-active:hover{box-shadow:inset 0 2px 1px rgba(255,255,255,.62),inset 2px 0 1px rgba(255,225,205,.2),inset -2px 0 1px rgba(105,224,218,.19),0 46px 108px rgba(0,0,0,.49),0 0 34px rgba(110,207,211,.065)}}
@media(max-width:700px){.reading-deck::before{left:-28%;top:35%}.reading-deck::after{right:-35%;top:38%}.reading-card{-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%)}.reading-card strong{margin-left:-6px;margin-right:-6px;padding:12px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.reading-card::before{background:radial-gradient(circle 170px at 24% 8%,rgba(255,255,255,.18),transparent 68%)}}

/* 2.5 taller spatial glass — premium interaction pass */
.deck-stage{height:478px}
.reading-card{top:18px;width:336px;height:420px;margin-left:-168px;padding:31px 30px;border-radius:32px}
.reading-card h4{margin-top:22px;font-size:29px}.reading-card small{font-size:12.5px}.reading-card strong{margin-top:24px;padding:15px 16px;font-size:13px;line-height:1.8}.reading-card p{font-size:12.5px;line-height:1.92;-webkit-line-clamp:7}
.reading-card::before{background:radial-gradient(circle 205px at var(--glass-x) var(--glass-y),rgba(255,255,255,.24),rgba(255,255,255,.06) 37%,transparent 69%),linear-gradient(118deg,transparent 18%,rgba(255,255,255,.06) 39%,transparent 55%)}
.reading-card.is-lit{box-shadow:inset 0 2px 1px rgba(255,255,255,.64),inset 2px 0 1px rgba(255,225,205,.22),inset -2px 0 1px rgba(105,224,218,.21),inset 0 -2px 1px rgba(161,127,236,.2),0 48px 112px rgba(0,0,0,.5),0 13px 31px rgba(0,0,0,.3),0 0 40px rgba(110,207,211,.075)}
.reading-card.is-refracting::before{animation:glassRefract 500ms cubic-bezier(.22,1,.36,1) both}
@keyframes glassRefract{0%{opacity:.4;transform:translateX(-8px)}48%{opacity:1;transform:translateX(3px)}100%{opacity:1;transform:none}}
.deck-stage.is-dragging .reading-card.is-active{box-shadow:inset 0 2px 1px rgba(255,255,255,.48),inset -2px 0 1px rgba(105,224,218,.14),0 28px 70px rgba(0,0,0,.4)}
.deck-stage.is-dragging .reading-card::after{opacity:.48}
.deck-navigation{margin-top:4px;margin-bottom:36px}
@media(max-width:1050px){.deck-stage{height:450px}.reading-card{width:308px;height:396px;margin-left:-154px;padding:28px 27px}.reading-card h4{font-size:27px}}
@media(max-width:700px){.deck-stage{height:414px}.reading-card{top:10px;width:min(264px,76vw);height:378px;margin-left:max(-132px,-38vw);padding:26px 23px;border-radius:27px}.reading-card h4{margin-top:18px;font-size:25px}.reading-card strong{margin-top:20px;padding:13px 14px}.reading-card p{font-size:12px;-webkit-line-clamp:7}.deck-navigation{margin-top:2px;margin-bottom:26px}}
@media(max-width:360px){.reading-card{width:min(254px,75vw);margin-left:max(-127px,-37.5vw)}}
@media(prefers-reduced-motion:reduce){.reading-card.is-refracting::before{animation:none!important}.reading-card.is-lit{box-shadow:inset 0 2px 1px rgba(255,255,255,.58),inset -2px 0 1px rgba(105,224,218,.17),0 42px 100px rgba(0,0,0,.47)}}

/* 2.6 desktop slender proportion */
@media(min-width:1051px){
  .deck-stage{height:502px}
  .reading-card{top:16px;width:316px;height:444px;margin-left:-158px;padding:32px 27px;border-radius:32px}
  .reading-card h4{font-size:28px}.reading-card strong{margin-top:23px;padding:15px 14px}.reading-card p{font-size:12.25px;line-height:1.92;-webkit-line-clamp:8}
  .deck-navigation{margin-top:2px}
}

/* 2.7 reading typography — align with the result summary above */
.reading-card h4{
  font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
  font-weight:600;letter-spacing:-.025em
}
.reading-card small{
  font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
  font-weight:500;letter-spacing:.015em
}
.reading-card strong,.reading-card p{
  font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif;
  letter-spacing:0
}
.reading-card strong{font-weight:500}.reading-card p{font-weight:400}

/* 2.8 visual reading typography — same hierarchy as the card and summary */
.reading-visual>header h4,
.condition-map b,.relation-map b,.balance-map b,.risk-map b,.branches b,.ledger-map b{
  font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
  font-weight:600;letter-spacing:-.015em
}
.condition-map p,.relation-map span,.visual-note,
.signal-map b,.signal-map p,.balance-map span,
.risk-map span,.branches span,.branches p,.ledger-map span{
  font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif;
  letter-spacing:0
}
.reading-visual>header h4{font-size:18px;line-height:1.45}
.relation-map b,.balance-map b,.risk-map b,.branches b,.ledger-map b{line-height:1.8}

/* 2.9 desktop oracle-slip ratio — strict 9:16 silhouette */
@media(min-width:1051px){
  .deck-stage{height:570px}
  .reading-card{
    top:14px;width:288px;height:512px;margin-left:-144px;
    padding:32px 25px;border-radius:31px
  }
  .reading-card::before{
    background:radial-gradient(circle 188px at var(--glass-x) var(--glass-y),rgba(255,255,255,.24),rgba(255,255,255,.06) 37%,transparent 69%),linear-gradient(118deg,transparent 18%,rgba(255,255,255,.06) 39%,transparent 55%)
  }
  .reading-card h4{margin-top:21px;font-size:27px;line-height:1.27}
  .reading-card small{font-size:12px;line-height:1.6}
  .reading-card strong{margin-top:25px;padding:15px 13px;font-size:12.75px;line-height:1.82}
  .reading-card p{font-size:12.25px;line-height:1.96;-webkit-line-clamp:10}
  .deck-navigation{margin-top:0}
}
@media(min-width:701px) and (max-width:1050px){
  .deck-stage{height:548px}
  .reading-card{
    top:14px;width:276px;height:490.667px;margin-left:-138px;
    padding:29px 24px;border-radius:30px
  }
  .reading-card p{-webkit-line-clamp:9}
}
@media(max-width:700px){
  .deck-stage{height:calc(min(248px,70vw) * 16 / 9 + 34px)}
  .reading-card{
    top:8px;width:min(248px,70vw);height:auto;aspect-ratio:9 / 16;
    margin-left:max(-124px,-35vw);padding:25px 21px;border-radius:27px
  }
  .reading-card h4{font-size:24px}
  .reading-card strong{
    font-size:12px;line-height:1.72;display:-webkit-box;
    -webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden
  }
  .reading-card p{font-size:11.75px;line-height:1.86;-webkit-line-clamp:4}
}

/* 3.2 final cascade lock — scoped to the requested method and history sections */
#method.method{max-width:none;min-height:760px;margin:0;padding:clamp(72px,7vw,112px) clamp(38px,4.2vw,78px);display:grid;grid-template-columns:minmax(360px,.68fr) minmax(620px,1.42fr);grid-template-rows:1fr;gap:clamp(56px,8vw,150px);align-items:stretch;background:rgba(247,240,221,.58)}
#method>.section-title{grid-row:auto;align-self:start;padding:52px 0 0}#method>.section-title p{margin:0 0 30px;color:var(--rosewood);font-size:12px;letter-spacing:.15em}#method>.section-title h3{max-width:430px;margin:0;color:var(--wood-ink);font-family:"Songti SC","Noto Serif SC","STSong",serif;font-size:clamp(68px,6.2vw,108px);font-weight:500;line-height:.92;letter-spacing:-.075em}#method>.section-title h3 span{display:block;white-space:nowrap}#method>.section-title>span{display:block;margin-top:30px;color:var(--wood-muted);font-size:12px}
#method .steps{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:0;border:1px solid var(--silk-line);background:rgba(255,252,241,.16)}#method .steps article{min-height:0;padding:clamp(32px,4vw,58px) clamp(28px,4.8vw,78px);display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:20px;align-content:center;border:0!important;border-bottom:1px solid var(--silk-line)!important;border-radius:0;background:transparent;box-shadow:none}#method .steps article:last-child{border-bottom:0!important}#method .steps b{grid-row:1/3;align-self:start;color:var(--rosewood);font-size:34px;font-weight:500;line-height:1}#method .steps h4{margin:0;color:var(--wood-ink);font-size:30px;font-weight:600;line-height:1.2}#method .steps p{margin:18px 0 0;color:var(--wood-muted);font-size:14px;line-height:1.75}#method .trigrams{display:none}
#history.history{max-width:none;min-height:650px;margin:0;padding:clamp(72px,7vw,112px) clamp(38px,4.2vw,78px);display:grid;grid-template-columns:minmax(360px,.68fr) minmax(620px,1.42fr);gap:clamp(56px,8vw,150px);align-items:start;border-top:1px solid var(--silk-line);background:rgba(251,247,234,.7)}#history>.section-title{padding:42px 0 0}#history>.section-title p{margin-bottom:28px;color:var(--rosewood);font-size:12px;letter-spacing:.15em}#history>.section-title h3{max-width:410px;margin:0;color:var(--wood-ink);font-family:"Songti SC","Noto Serif SC","STSong",serif;font-size:clamp(68px,6.2vw,106px);font-weight:500;line-height:.9;letter-spacing:-.075em}#history>.section-title>span{display:block;margin-top:30px;color:var(--wood-muted);font-size:12px}
#history .history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}#history .history-item{position:relative;min-height:198px;padding:30px 26px;border:1px solid rgba(91,42,42,.16);border-radius:28px;background:radial-gradient(circle at 72% 78%,rgba(241,211,116,.22),transparent 46%),linear-gradient(145deg,rgba(255,252,239,.88),rgba(249,237,198,.44));color:var(--wood-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease}#history .history-item span{font-size:11px;color:var(--rosewood)}#history .history-item h4{margin:25px 0 12px;color:var(--wood-ink);font-size:34px;font-weight:500;line-height:1.15}#history .history-item p{margin:0;color:var(--wood-muted);font-size:12px}#history .history-grid>.empty{grid-column:1/-1;padding:34px 0;border-top:1px solid var(--silk-line)}
@media(hover:hover) and (pointer:fine){#method .steps article:hover{background:rgba(255,250,234,.44);box-shadow:none}#history .history-item:hover{transform:translateY(-5px);border-color:rgba(91,42,42,.34);box-shadow:0 18px 42px rgba(83,54,28,.1),inset 0 1px 0 rgba(255,255,255,.9)}}
@media(max-width:1050px){#method.method,#history.history{grid-template-columns:1fr;min-height:0;gap:42px}#method>.section-title,#history>.section-title{padding-top:0}#method>.section-title h3 span{display:inline}#method>.section-title h3 span+span::before{content:" "}}
@media(max-width:700px){#method.method,#history.history{padding:64px 18px;gap:34px}#method>.section-title h3,#history>.section-title h3{font-size:54px;line-height:.96;letter-spacing:-.06em}#method>.section-title h3 span{display:block}#method>.section-title h3 span+span::before{content:none}#method .steps article{padding:30px 20px;grid-template-columns:44px 1fr;column-gap:12px}#method .steps b{font-size:27px}#method .steps h4{font-size:24px}#method .steps p{margin-top:12px;font-size:12px}#history .history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#history .history-item{min-height:152px;padding:21px 18px;border-radius:22px}#history .history-item h4{margin:18px 0 8px;font-size:28px}}

/* 6.2 Focused flow — preserve the visual system while removing idle scroll space */
@media(min-width:1051px){
  .intro-stage{min-height:max(700px,calc(92svh - 78px));padding-bottom:104px}
  .coin-stage{height:158svh}
  .cast-stage{min-height:112svh;padding-top:clamp(142px,16vh,164px);padding-bottom:clamp(72px,8vh,92px)}
  .result-top{min-height:290px;padding-top:36px;padding-bottom:32px;gap:clamp(34px,3.6vw,56px)}
  .reading-deck{padding-top:24px;padding-bottom:44px}
  .reading-deck-heading{margin-bottom:14px}
  .deck-stage{height:500px}
  .reading-card{top:8px;width:272px;height:483.556px;margin-left:-136px;padding:29px 24px;border-radius:30px}
  .reading-card h4{margin-top:18px;font-size:26px}
  .reading-card strong{margin-top:20px;padding:13px 12px;font-size:12.5px;line-height:1.74}
  .reading-card p{font-size:11.75px;line-height:1.84;-webkit-line-clamp:8}
}

@media(min-width:701px) and (max-width:1050px){
  .intro-stage{min-height:max(680px,calc(94svh - 78px));padding-bottom:104px}
  .coin-stage{height:154svh}
  .cast-stage{min-height:112svh;padding-top:142px;padding-bottom:76px}
  .result-top{min-height:310px;padding-top:40px;padding-bottom:36px;gap:38px}
  .reading-deck{padding-top:28px;padding-bottom:46px}
  .reading-deck-heading{margin-bottom:16px}
}

@media(max-width:700px){
  .coin-stage{height:122svh}
  .cast-stage{min-height:108svh;padding-top:108px;padding-bottom:62px}
  .result-top{min-height:0;padding-top:34px;padding-bottom:30px}
  .reading-deck{padding-top:34px;padding-bottom:42px}
}

@media(prefers-reduced-motion:reduce){.coin-stage{height:100svh}}

/* Result deck: let the cards directly follow the revealed hexagram. */
.reading-deck{padding-top:14px}
@media(max-width:1050px){.reading-deck{padding-top:16px}}
@media(max-width:700px){.reading-deck{padding-top:12px}}

/* Method heading: ease the dense display typography without changing its footprint. */
#method>.section-title h3{max-width:470px;line-height:1.02;letter-spacing:-.035em}
@media(max-width:700px){#method>.section-title h3{line-height:1.06;letter-spacing:-.025em}}

/* 6.3 Consultation note — replaces unsupported timing inference */
.derived .consult-note{display:flex;flex-direction:column;align-items:flex-start}
.derived .consult-note p{margin-bottom:16px}
.derived .consult-note a{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:9px 0 7px;
  color:var(--rosewood);font:600 12px/1.4 "Noto Sans SC","Microsoft YaHei",sans-serif;
  letter-spacing:.08em;text-decoration:none;border-bottom:1px solid rgba(91,42,42,.5)
}
.derived .consult-note a span{transition:transform 180ms cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.derived .consult-note a:hover span{transform:translateX(4px)}}
@media(max-width:700px){.derived .consult-note a{min-height:44px;margin-bottom:12px;padding:11px 0}}

/* 6.4 Mobile-only composition and reading flow. */
@media(max-width:700px){
  .topbar .brand strong,.topbar nav a{
    font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
    font-weight:500
  }

  .intro-stage{
    min-height:max(calc(100svh - 58px),620px);
    padding:7vh 16px 132px
  }
  .intro-stage .hero-copy{height:350px}
  .intro-stage .hero-copy h1{
    inset:-10px auto auto 50%;
    max-width:calc(100vw - 24px);
    gap:clamp(12px,3.5vw,18px);
    font-family:"Songti SC","Noto Serif SC",serif;
    font-size:clamp(72px,20.5vw,82px);
    font-weight:800;
    font-synthesis:none;
    line-height:.9;
    letter-spacing:-.08em
  }
  .intro-stage .hero-copy h1 em{margin-top:clamp(80px,23vw,96px)}
  .hero-note{bottom:28px;height:138px;min-height:138px;padding:10px 8px}
  .hero-note-left{left:12px;width:156px;justify-content:center}
  .hero-note-right{display:flex;right:12px;width:156px;justify-content:center}
  .hero-note-left .hero-note-copy,.hero-note-right .hero-note-copy{width:100%;justify-content:center}
  .hero-note-copy{gap:6px}
  .hero-note-copy span{font-size:10px;letter-spacing:.08em}
  .hero-note-copy span:first-child{font-size:12px}
  .hero-note .trust{display:none}
  .hero-trust-mobile{
    position:absolute;left:50%;bottom:31px;transform:translateX(-50%);
    display:flex;align-items:center;justify-content:center;gap:18px;
    color:var(--rosewood);font:500 9px/1 "Noto Sans SC","Microsoft YaHei",sans-serif;
    letter-spacing:.1em;white-space:nowrap
  }
  .intro-stage>.scroll-cue{left:50%;right:auto;bottom:8px;transform:translateX(-50%)}
  .intro-stage>.scroll-cue span{display:none}

  .coin-stage{height:84svh}
  .coin-scene{height:84svh;min-height:500px}
  .coin-wordmark{
    inset:45% auto auto 50%;
    transform:translate(-50%,-50%);
    gap:clamp(170px,44vw,186px)
  }
  .coin-wordmark span{
    font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
    font-size:clamp(190px,55vw,220px);
    font-weight:700;
    line-height:.8;
    letter-spacing:-.08em
  }
  .coin-stage .coin-wrap{transform:none}
  .coin-stage .coin-real{width:min(65vw,264px)}
  .coin-stage .coin-wrap p{position:relative;top:128px;margin-top:16px;line-height:1.6}
  .coin-stage .coin-wrap p a{display:none!important}
  .coin-note{bottom:18px}
  .coin-cue{bottom:9px}

  .result-top{
    min-height:0;
    padding:26px 16px 18px;
    grid-template-columns:minmax(0,1fr) minmax(108px,.62fr);
    grid-template-rows:auto auto;
    align-items:start;
    column-gap:16px;
    row-gap:18px
  }
  .result-top>div:first-child{align-self:start}
  .hexagram-wrap{align-self:center;gap:16px}
  .result-top h2{font-size:68px;margin:9px 0}
  .result-question{margin-top:12px!important;padding-top:11px}
  .result-summary{
    align-self:start;
    padding:18px 0 0;
    border-top:1px solid rgba(255,255,255,.12)
  }
  .result-summary span{font-size:clamp(25px,7vw,29px);line-height:1.22}
  .result-summary p{margin:12px 0 0;font-size:13px;line-height:1.78}
  .reading-deck{padding-top:10px;padding-bottom:34px}

  .reading-card.is-active{
    overflow-y:auto;
    overscroll-behavior:contain;
    touch-action:pan-y;
    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch
  }
  .reading-card.is-active::-webkit-scrollbar{display:none;width:0;height:0}
  .reading-card.is-active strong,.reading-card.is-active p{
    display:block;
    -webkit-line-clamp:unset;
    overflow:visible
  }
  .reading-card.is-active p{padding-bottom:18px}
}

/* 6.5 Mobile legibility and compact result flow. Desktop composition is unchanged. */
.deck-swipe-hint{display:none}
@media(max-width:700px){
  .hero-note-copy span{font-size:11px}
  .hero-note-copy span:first-child{font-size:12px}
  .hero-trust-mobile{font-size:11px;letter-spacing:.08em}
  .coin-stage .coin-wrap p,.coin-note{font-size:11px}
  .question-field>span small,
  .question-mode>span,.question-mode>strong,.question-mode>small,
  .number-entry>span,.entry-flow b{font-size:11px}
  .contact-kicker,.contact-mail span,.social-item small,.social-block>p{font-size:11px}
  footer p{font-size:11.5px;line-height:1.75}
  footer a{font-size:12px}

  .result-top{
    padding:20px 16px 12px;
    column-gap:14px;
    row-gap:12px
  }
  .result-question{margin-top:9px!important;padding-top:9px;font-size:12px!important;line-height:1.65}
  .result-summary{padding-top:13px}
  .result-summary p{margin-top:9px;font-size:12.5px;line-height:1.68;text-wrap:pretty}
  .reading-deck{padding:8px 14px 28px}
  .deck-swipe-hint{
    display:flex;align-items:center;justify-content:space-between;
    margin:0 2px 8px;color:#a79d91;font:500 11px/1.4 "Noto Sans SC","Microsoft YaHei",sans-serif;
    letter-spacing:.04em
  }
  .deck-swipe-hint b{color:#d2ab76;font-weight:500}
  .deck-stage{height:calc(min(238px,68vw) * 16 / 9 + 22px)}
  .reading-card{
    top:5px;width:min(238px,68vw);margin-left:max(-119px,-34vw);
    padding:23px 20px;border-radius:26px
  }
  .reading-card h4{font-size:24px}
  .reading-card small,.reading-card strong,.reading-card p{font-size:12px}
  .deck-navigation{margin-top:0;margin-bottom:20px}
}

/* 6.6 Mobile route hierarchy and low-height landscape composition. */
@media(max-width:700px){
  .topbar nav a:first-child{
    min-width:54px;
    min-height:36px;
    margin-right:2px;
    padding:0 10px;
    border:1px solid rgba(91,42,42,.72);
    border-radius:999px;
    background:var(--rosewood);
    color:var(--silk-light);
    box-shadow:0 8px 20px rgba(62,27,29,.14)
  }
  .topbar nav a:first-child::after{display:none}
  .topbar nav a:first-child:active{transform:scale(.96)}
}

@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  .topbar{
    height:58px;
    padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));
    background:rgba(251,246,232,.96)
  }
  .brand{gap:9px}
  .brand-seal{width:34px;height:34px;font-size:16px}
  .brand strong{font-size:19px}
  .brand small{display:none}
  .topbar nav{gap:8px}
  .topbar nav a{min-height:40px;padding:0 9px;font-size:13px}
  .top-action{min-height:38px;padding:7px 18px;font-size:13px}

  .intro-stage{
    min-height:calc(100svh - 58px);
    height:calc(100svh - 58px);
    padding:16px 28px 54px
  }
  .intro-stage>.hero-liquid{inset:-12% -5% -8%;opacity:.58}
  .hero-liquid::after{inset:70% 0 0}
  .intro-stage .hero-copy{height:210px}
  .intro-stage .hero-copy h1{
    inset:-6px 0 auto;
    width:auto;
    max-width:none;
    transform:none;
    display:block;
    color:var(--wood-ink);
    font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
    font-size:clamp(66px,11vw,94px);
    font-weight:800;
    font-synthesis:none;
    line-height:.8;
    letter-spacing:-.085em
  }
  .intro-stage .hero-copy h1 span,
  .intro-stage .hero-copy h1 em{
    display:block;
    width:max-content;
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    white-space:nowrap
  }
  .intro-stage .hero-copy h1 span{margin-left:8vw}
  .intro-stage .hero-copy h1 em{margin:0 0 0 29vw}

  .hero-note{
    bottom:20px;
    width:190px;
    height:72px;
    min-height:72px;
    padding:3px 6px
  }
  .hero-note-left{left:22px;justify-content:flex-end}
  .hero-note-right{right:22px;display:flex;justify-content:flex-start}
  .hero-note-copy{gap:6px}
  .hero-note-copy span{font-size:9px;letter-spacing:.07em}
  .hero-note-copy span:first-child{font-size:10px}
  .hero-note-copy span:nth-child(2),
  .hero-note-copy span:nth-child(3),
  .hero-note-copy span:nth-child(4),
  .hero-note-right .hero-note-copy span:nth-child(2),
  .hero-note-right .hero-note-copy span:nth-child(3),
  .hero-note-right .hero-note-copy span:nth-child(4){margin-top:0}
  .hero-note .trust,.hero-trust-mobile{display:none}
  .intro-stage>.scroll-cue{left:50%;right:auto;bottom:5px;transform:translateX(-50%)}
  .intro-stage>.scroll-cue span{display:none}

  .coin-stage{height:138svh}
  .coin-scene{height:100svh;min-height:calc(100svh - 58px)}
  .coin-wordmark{
    inset:50% 24px auto;
    transform:translateY(-53%);
    flex-direction:row;
    justify-content:space-between;
    gap:0
  }
  .coin-wordmark span{
    font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
    font-size:clamp(154px,25vw,214px);
    line-height:.72
  }
  .coin-stage .coin-real{width:min(31vw,258px)}
  .coin-stage .coin-wrap p{margin-top:10px;font-size:10px}
  .coin-stage .coin-wrap p a{display:none}
  .coin-note{bottom:16px;font-size:9px}
  .coin-note-left{left:24px}
  .coin-note-right{right:24px;display:block}
  .coin-cue{bottom:5px}

  .cast-stage{min-height:0;padding:94px 18px 48px}
  .cast-section-title{height:76px}
  .cast-brush-mark{width:118px;height:54px}
  .cast-section-title span{font-size:13px}
  .cast-stage .cast-card{width:min(780px,100%);padding:24px;border-radius:24px}
  .cast-stage .card-heading{margin-bottom:16px}
  .cast-stage .card-heading h2{font-size:28px}
  .cast-stage .question-field textarea{min-height:72px}
  .cast-stage fieldset{margin-top:16px}
  .cast-stage .number-grid{gap:8px}
  .cast-stage .cast-actions{margin-top:14px}
}

/* 6.7 Mobile reading cards: more room to read; portrait balance stays comparative. */
@media(max-width:700px){
  .deck-stage{
    height:calc(clamp(430px,64svh,560px) + 20px)
  }
  .reading-card{
    width:min(276px,74vw);
    height:clamp(430px,64svh,560px);
    margin-left:max(-138px,-37vw);
    padding:24px 21px 34px
  }
  .reading-card.is-active{
    scroll-padding:24px 0 34px;
    cursor:auto
  }
  .reading-card.is-active p{
    padding-bottom:28px
  }
}

@media(max-width:700px) and (orientation:portrait){
  .reading-visual[data-reading-visual="3"]{
    padding-inline:12px
  }
  .balance-map{
    grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);
    align-items:stretch;
    gap:8px;
    margin:4px auto 0
  }
  .balance-map>div{
    min-width:0;
    min-height:148px;
    padding:16px 9px;
    display:flex;
    flex-direction:column;
    justify-content:center
  }
  .balance-map b{
    font-size:12px;
    line-height:1.75;
    overflow-wrap:anywhere
  }
  .balance-map>i{
    width:100%;
    height:2px;
    margin:auto
  }
  .balance-map>i::before{
    top:-34px;
    height:68px
  }
  .balance-map>i::after{
    left:calc(50% - 11px);
    top:32px;
    border-left-width:11px;
    border-right-width:11px;
    border-bottom-width:17px
  }
}
