:root{--night:#060d1b;--paper:#e6eefb;--muted:#9eafc8;--gold:#d0a45a;--pale:#f8df9e;--line:rgba(239,210,151,.33);--card:rgba(10,22,43,.9)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 82% 12%,#1e4378 0,transparent 28%),radial-gradient(ellipse at 7% 72%,#172f55 0,transparent 29%),var(--night);color:var(--paper);font-family:"Noto Serif SC",serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.3;background-image:radial-gradient(#fff .6px,transparent .75px),linear-gradient(120deg,transparent 49.8%,rgba(228,195,129,.06) 50%,transparent 50.2%);background-size:29px 29px,160px 160px}button{font:inherit;cursor:pointer}#app{width:min(100%,940px);margin:auto;padding:20px 22px 46px;position:relative}.brand{display:flex;align-items:center;gap:9px;color:var(--pale);font-size:11px;font-weight:700;letter-spacing:.17em}.brand b{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--gold);border-radius:50%;font-size:14px}.home{height:calc(100dvh - 40px);min-height:560px;display:flex;flex-direction:column;padding-top:1vh}.home-grid{display:grid;grid-template-columns:.87fr 1.13fr;gap:30px;align-items:center;flex:1;min-height:0}.home-copy{position:relative;padding:28px 8px 28px 24px}.home-copy:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(transparent,var(--gold),transparent)}.home-copy:after{content:"✦";position:absolute;left:-8px;top:45%;color:var(--pale);font-size:17px;text-shadow:0 0 15px var(--gold)}.stamp{font-family:"Ma Shan Zheng",cursive;font-size:24px;color:var(--pale)}.home h1{font-family:"Zhi Mang Xing","Ma Shan Zheng",cursive;font-size:clamp(54px,6.8vw,84px);line-height:.98;font-weight:400;letter-spacing:.06em;margin:10px 0 14px;color:#fff0c1;text-shadow:2px 3px 0 rgba(67,36,20,.52)}.lead{margin:0;max-width:415px;color:#d4dfef;font-size:15px;line-height:1.9}.cta{border:1px solid var(--pale);color:#121a28;background:linear-gradient(135deg,#f4d58d,#ae7333);padding:13px 18px;margin-top:18px;font-weight:800;letter-spacing:.05em;box-shadow:4px 5px 0 rgba(0,0,0,.36);transition:.18s}.cta:hover{transform:translate(-2px,-2px);box-shadow:7px 8px 0 rgba(0,0,0,.36)}.cta span{margin-left:9px}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tag{color:#c5d0df;font-size:11px;border-bottom:1px solid var(--line);padding:3px 1px}.tag:not(:last-child):after{content:"·";margin-left:7px;color:var(--gold)}.home-art{align-self:center;justify-self:center;position:relative;margin:0;width:min(100%,390px);height:min(68vh,590px);padding:10px 10px 0;background:linear-gradient(135deg,#151f36,#050a13);border:2px solid #936b30;border-radius:195px 195px 8px 8px/250px 250px 8px 8px;box-shadow:0 0 0 6px rgba(10,18,33,.88),0 0 0 7px rgba(232,199,130,.45),18px 25px 45px rgba(0,0,0,.48);overflow:hidden}.home-art:before{content:"";position:absolute;z-index:2;inset:5px;border:1px solid rgba(248,223,158,.7);border-radius:188px 188px 4px 4px/242px 242px 4px 4px;pointer-events:none}.home-art:after{content:"✦  ·  ✦";position:absolute;z-index:3;top:14px;left:50%;transform:translateX(-50%);font-size:13px;color:var(--pale);letter-spacing:15px;text-shadow:0 0 10px #d6a958}.home-art img{width:100%;height:calc(100% - 32px);display:block;object-fit:contain;object-position:center bottom;background:#061021;border-radius:180px 180px 0 0/230px 230px 0 0}.home-art figcaption{position:absolute;z-index:4;bottom:7px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:"Ma Shan Zheng",cursive;font-size:19px;color:var(--pale);text-shadow:0 1px 8px #000}.note{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.progress-shell{margin-top:16px}.topline{display:flex;justify-content:space-between;color:var(--pale);font-size:11px;letter-spacing:.1em;margin:10px 0 7px}.progress{height:4px;background:rgba(255,255,255,.13);position:relative}.progress:before,.progress:after{content:"✦";position:absolute;top:-8px;color:var(--gold);font-size:11px}.progress:before{left:-2px}.progress:after{right:-2px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--pale));transition:width .35s}.question-card{position:relative;margin-top:18px;background:linear-gradient(135deg,rgba(16,33,61,.95),rgba(7,16,32,.94));border:1px solid var(--line);padding:15px;box-shadow:0 22px 44px rgba(0,0,0,.24)}.question-card:before,.question-card:after{content:"";position:absolute;width:30px;height:30px;border-color:var(--gold);opacity:.75;pointer-events:none}.question-card:before{top:6px;left:6px;border-top:1px solid;border-left:1px solid}.question-card:after{right:6px;bottom:6px;border-right:1px solid;border-bottom:1px solid}.scene{margin:0 0 13px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(214,169,88,.18)}.scene img{display:block;width:100%;height:clamp(185px,28vh,280px);object-fit:cover}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.16em}.question-card h2{font-size:clamp(22px,3vw,30px);line-height:1.42;margin:6px 0 13px}.answers{display:grid;gap:7px}.answer{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 12px;border:1px solid rgba(221,233,247,.25);background:rgba(255,255,255,.035);color:var(--paper);transition:.17s}.answer i{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;border:1px solid var(--gold);font-size:11px;color:var(--pale);font-style:normal}.answer span{font-size:14px;line-height:1.4}.answer:hover{transform:translateX(3px);border-color:var(--pale);background:rgba(214,169,88,.13)}.neutral{border-color:rgba(214,169,88,.46);background:rgba(214,169,88,.075)}.back{background:transparent;border:0;color:var(--muted);padding:12px 0;text-decoration:underline}.result-head{text-align:center;padding:28px 0 16px}.type{font-family:Georgia,serif;font-size:clamp(65px,16vw,125px);line-height:.9;color:var(--pale);letter-spacing:.05em;margin:15px 0 5px}.role{font-size:22px;color:#d7e3f3}.portrait{margin:0;border:1px solid var(--line);padding:8px;background:#0b1a31;box-shadow:12px 14px 32px rgba(0,0,0,.25)}.portrait img{width:100%;display:block;aspect-ratio:2/3;object-fit:cover;max-height:650px}.quote{margin:0 0 13px;padding:14px;border-left:3px solid var(--gold);background:rgba(213,168,90,.08);font-size:16px;line-height:1.75}.dims{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.dim{border:1px solid var(--line);padding:11px;background:rgba(255,255,255,.025)}.dim b{display:block;color:var(--pale);font-size:14px}.dim small{color:var(--muted);font-size:10px}.bar{height:4px;background:#26384f;margin-top:8px}.bar span{display:block;height:100%;background:var(--gold)}.section{border-top:1px solid var(--line);padding-top:21px;margin-top:28px}.section h3,.mini-reading h3{color:var(--pale);font-size:19px}.section p{line-height:1.95;color:#d4dfed}.share{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.secondary{padding:13px 16px;border:1px solid var(--line);color:var(--paper);background:transparent}.disclaimer{color:var(--muted);font-size:10px;line-height:1.7;margin-top:25px}@media(min-width:760px){.result-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:22px;align-items:start}.mini-reading{border:1px solid var(--line);padding:13px;margin-top:11px;background:rgba(255,255,255,.025)}.mini-reading h3{margin:0 0 7px;font-size:15px}.mini-reading p{margin:0;color:#d4dfed;line-height:1.75;font-size:14px}.reading{max-width:760px;margin-left:auto;margin-right:auto}}@media(max-width:650px){#app{padding:14px 13px 28px}.home{height:calc(100dvh - 28px);min-height:530px;padding-top:4px}.home-grid{grid-template-columns:1fr;gap:3px;align-content:center}.home-copy{padding:11px 7px 8px 17px}.stamp{font-size:20px}.home h1{font-size:55px;margin:3px 0 6px}.lead{font-size:12px;line-height:1.65}.cta{margin-top:10px;padding:10px 13px}.tag-row{margin-top:8px}.home-art{width:min(100%,240px);height:230px;border-radius:120px 120px 5px 5px/150px 150px 5px 5px;padding:7px 7px 0}.home-art:before{inset:3px;border-radius:117px 117px 3px 3px/147px 147px 3px 3px}.home-art:after{top:8px;font-size:9px}.home-art img{height:196px;border-radius:112px 112px 0 0/143px 143px 0 0}.home-art figcaption{bottom:3px;font-size:15px}.note{font-size:8px;margin-top:3px}.question-card{padding:10px;margin-top:14px}.scene{margin-bottom:11px}.scene img{height:min(25vh,185px)}.question-card h2{font-size:21px;margin:5px 0 11px}.answer{padding:9px}.answer span{font-size:13px}.result-hero{display:block}.result-side{margin-top:16px}.dims{grid-template-columns:repeat(2,1fr)}.portrait img{max-height:none}}
/* Second-pass layout: the home is a ticket beside a full magical door. */
.home-copy{padding:31px 27px 27px!important;border:1px solid rgba(239,210,151,.38)!important;background:linear-gradient(145deg,rgba(22,43,75,.52),rgba(5,12,25,.18))!important;box-shadow:inset 0 0 0 5px rgba(7,14,28,.48)!important}.home-copy:before{left:auto!important;right:14px!important;top:14px!important;bottom:14px!important;width:1px!important;background:linear-gradient(transparent,var(--gold),transparent)!important}.home-copy:after{left:auto!important;right:8px!important;top:48%!important}.ticket-top{display:flex;justify-content:space-between;align-items:center;color:var(--gold)!important;font-size:10px!important;letter-spacing:.18em!important;padding-bottom:14px!important;border-bottom:1px solid var(--line)!important}.ticket-top b{font:400 37px/1 Georgia,serif!important;color:var(--pale)!important}.home h1{font-family:"Ma Shan Zheng",cursive!important;font-size:clamp(47px,5.7vw,70px)!important;line-height:1.08!important;letter-spacing:.02em!important;margin:18px 0 12px!important;text-shadow:1px 3px 0 rgba(63,36,22,.5),0 0 24px rgba(230,188,105,.18)!important}.home .lead{font-size:14px!important;line-height:1.9!important;max-width:380px!important}.ticket-rule{display:flex;align-items:center;gap:10px;color:#bdcce0;font-size:11px;margin:18px 0 0;letter-spacing:.05em}.ticket-rule i{width:21px;height:1px;background:var(--gold);position:relative}.ticket-rule i:after{content:"✦";position:absolute;color:var(--pale);font-style:normal;font-size:10px;top:-7px;left:7px}.home .cta{margin-top:18px!important;padding:14px 20px!important;border-radius:0!important}.home-art{width:min(100%,405px)!important;height:min(72vh,620px)!important}.home-art img{height:calc(100% - 32px)!important;object-fit:contain!important}.question-card{min-height:calc(100dvh - 138px)!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}.question-card .scene{flex:0 0 auto!important}.question-card .scene img{height:clamp(235px,37vh,350px)!important}.question-copy{display:flex!important;flex:1!important;flex-direction:column!important}.question-card .answers{margin-top:auto!important}.question-card .answer{min-height:48px!important;padding:11px 13px!important}@media(max-width:650px){.home-copy{padding:15px 18px!important}.ticket-top{padding-bottom:7px!important}.ticket-top b{font-size:27px!important}.home h1{font-size:44px!important;margin:8px 0!important}.home .lead{font-size:11px!important;line-height:1.65!important}.ticket-rule{font-size:9px!important;margin-top:8px!important}.home .cta{margin-top:10px!important;padding:10px 13px!important}.home-art{height:240px!important;width:250px!important}.home-art img{height:206px!important}.question-card{min-height:0!important}.question-card .scene img{height:min(31vh,225px)!important}.question-card .answer{min-height:44px!important;padding:9px 11px!important}}

/* Layered archive-door home chosen in visual exploration. */
#app:has(.home-door-page){width:100%;max-width:none;margin:0;padding:0}.home-door-page{isolation:isolate;position:relative;min-height:100dvh;height:100dvh;overflow:hidden;padding:0;color:#f6e5ba;background:#07101f}.home-bg{position:absolute;z-index:-4;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:archive-enter .9s ease-out both}.home-vignette{position:absolute;z-index:-3;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,8,19,.4),rgba(2,8,19,.08) 44%,rgba(2,8,19,.02)),linear-gradient(0deg,rgba(3,8,17,.34),transparent 30%)}.home-brand{position:absolute;z-index:4;top:clamp(20px,4vh,48px);left:clamp(25px,5.4vw,82px);display:flex;align-items:center;gap:10px;color:#f1d797;font-size:11px;font-weight:700;letter-spacing:.18em;text-shadow:0 2px 10px #000;animation:copy-enter .75s .18s both}.home-brand span{font-size:18px;color:#e4b45b}.home-door-copy{position:absolute;z-index:3;left:clamp(38px,9.3vw,165px);top:50%;width:min(39vw,530px);transform:translateY(-48%);text-align:left}.home-kicker{margin:0 0 17px;color:#e3b25d;font-size:clamp(10px,1vw,13px);font-weight:700;letter-spacing:.17em;text-shadow:0 1px 7px #000;animation:copy-enter .7s .25s both}.home-door-copy h1{margin:0;font-family:"Zhi Mang Xing","Ma Shan Zheng",cursive;font-size:clamp(47px,5.4vw,91px);font-weight:400;line-height:1.06;letter-spacing:.06em;color:#fff0c5;text-shadow:3px 4px 0 rgba(47,26,18,.58),0 0 26px rgba(234,178,83,.18);animation:copy-enter .8s .34s both}.home-lead{margin:20px 0 0;color:#e3e8ef;font-size:clamp(13px,1.18vw,17px);line-height:1.9;letter-spacing:.055em;text-shadow:0 2px 9px #000;animation:copy-enter .8s .44s both}.home-cta{position:relative;margin-top:25px;padding:13px 20px 13px 23px;border:1px solid #f2d18b;background:linear-gradient(135deg,#f5dda0,#bd8037);box-shadow:4px 5px 0 rgba(1,6,15,.75),0 0 0 3px rgba(209,157,71,.15),0 0 23px rgba(211,159,73,.22);color:#1a1b20;font-size:14px;font-weight:900;letter-spacing:.12em;transition:transform .2s,box-shadow .2s;animation:copy-enter .8s .54s both}.home-cta:hover{transform:translate(-2px,-2px);box-shadow:7px 8px 0 rgba(1,6,15,.75),0 0 0 3px rgba(209,157,71,.2),0 0 30px rgba(245,205,122,.45)}.home-cta span{margin-left:17px;font-size:17px}.home-door{position:absolute;z-index:1;right:clamp(20px,5.3vw,112px);bottom:0;margin:0;width:min(43vw,620px);height:min(91vh,920px);filter:drop-shadow(12px 18px 22px rgba(0,0,0,.48));animation:door-enter 1.1s .08s cubic-bezier(.16,.76,.25,1) both}.door-shadow{position:absolute;z-index:0;inset:4% 2% 0;background:radial-gradient(ellipse at 52% 30%,rgba(118,165,237,.3),transparent 45%);filter:blur(20px);opacity:.8}.door-cat{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;animation:cat-float 7s 1.1s ease-in-out infinite}.home-disclaimer{position:absolute;z-index:4;left:clamp(25px,5.4vw,82px);bottom:clamp(14px,3vh,32px);margin:0;max-width:410px;color:rgba(219,229,239,.76);font-size:10px;line-height:1.6;text-shadow:0 1px 5px #000;letter-spacing:.03em}@keyframes archive-enter{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes door-enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes copy-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cat-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.question-card{max-width:940px;margin-left:auto;margin-right:auto}.question-copy{display:flex;flex-direction:column}.question-card h2{margin:6px 0 10px}.answers{margin-top:0;gap:8px}.answer{padding:11px 13px}.scene img{height:clamp(220px,34vh,320px)}
@media(max-width:760px){.home-door-page{min-height:100dvh;height:100dvh}.home-bg{object-position:58% center}.home-vignette{background:linear-gradient(180deg,rgba(2,8,19,.08),rgba(2,8,19,.2) 48%,rgba(2,8,19,.72) 100%)}.home-brand{top:17px;left:22px;font-size:9px}.home-door{right:50%;bottom:auto;top:30px;width:min(79vw,410px);height:50dvh;transform:translateX(50%);filter:drop-shadow(8px 12px 16px rgba(0,0,0,.45));animation:door-mobile-enter .9s .1s both}.home-door-copy{top:auto;bottom:clamp(69px,10vh,102px);left:22px;right:22px;width:auto;transform:none;text-align:center}.home-kicker{margin-bottom:10px;font-size:10px}.home-door-copy h1{font-size:clamp(41px,12.4vw,62px)!important;line-height:1.08!important}.home-lead{margin-top:12px;font-size:12px;line-height:1.7}.home-cta{margin-top:16px;padding:11px 18px;font-size:13px}.home-disclaimer{right:22px;left:22px;bottom:14px;max-width:none;text-align:center;font-size:8px}.scene img{height:min(28vh,220px)}.question-card{margin-top:13px}.question-card h2{margin-bottom:9px}.answers{gap:7px}@keyframes door-mobile-enter{from{opacity:0;transform:translate(50%,18px)}to{opacity:1;transform:translate(50%,0)}}}.home-door-copy h1{font-family:"Zhi Mang Xing","Ma Shan Zheng",cursive!important;font-size:clamp(47px,5.4vw,91px)!important;line-height:1.06!important;letter-spacing:.06em!important;margin:0!important}.question-card{min-height:0!important}.answers{margin-top:0!important}@media(prefers-reduced-motion:reduce){.home-bg,.home-door,.door-cat,.home-brand,.home-kicker,.home-door-copy h1,.home-lead,.home-cta{animation:none}}

@media(max-width:760px){.home-door-copy h1{font-size:clamp(41px,12.4vw,62px)!important;line-height:1.08!important}}

/* Match the selected composition: restrained archive typography on the left, one clean character cutout inside the door. */
.home-door-copy{top:48%;width:min(41vw,560px)}.home-kicker{padding-left:2px;margin-bottom:20px;font-family:"Noto Serif SC",serif;font-size:clamp(11px,1.05vw,14px);font-weight:600;letter-spacing:.22em}.home-door-copy h1{font-family:"Noto Serif SC",serif!important;font-size:clamp(48px,5.15vw,86px)!important;line-height:1.13!important;font-weight:600!important;letter-spacing:.07em!important;text-shadow:2px 3px 0 rgba(45,24,14,.58),0 0 22px rgba(232,176,76,.14)!important}.home-cta{margin-top:30px;border-radius:0;font-family:"Noto Serif SC",serif;font-size:13px;letter-spacing:.15em}.home-door{right:clamp(18px,5vw,105px);width:min(40vw,570px);height:min(90vh,900px)}.door-cat{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 13px 12px rgba(0,0,0,.38))}.door-shadow{inset:12% 13% 2%;background:radial-gradient(ellipse at 50% 35%,rgba(122,164,235,.28),transparent 58%)}@media(max-width:760px){.home-door-copy{top:auto;bottom:clamp(70px,10vh,104px);width:auto}.home-kicker{font-size:10px;margin-bottom:12px}.home-door-copy h1{font-size:clamp(39px,11.8vw,58px)!important;line-height:1.12!important}.home-door{top:24px;width:min(72vw,385px);height:52dvh}.home-cta{margin-top:20px}}

/* Geometry traced from the approved first composition, at its 1600 × 1067 reference ratio. */
.home-door-copy{left:10.1vw;top:46.8%;width:min(35vw,565px);transform:translateY(-42%)}.home-star{height:53px;margin:0 auto 7px;color:#edca7c;font-size:57px;line-height:53px;text-align:center;text-shadow:0 0 23px rgba(245,204,121,.74);animation:copy-enter .65s .18s both}.home-kicker{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 0 30px!important;padding:0!important;color:#f2d18a!important;font-family:"Songti SC","Noto Serif SC",serif!important;font-size:clamp(12px,1.25vw,19px)!important;font-weight:600!important;letter-spacing:.20em!important;white-space:nowrap}.home-kicker i{position:relative;display:block;width:63px;height:1px;background:linear-gradient(90deg,transparent,#d5a651);opacity:.9}.home-kicker i:first-child{background:linear-gradient(90deg,#d5a651,transparent)}.home-kicker i:after{content:"◆";position:absolute;right:-2px;top:-8px;color:#e8bf6e;font-size:10px;font-style:normal}.home-kicker i:first-child:after{right:auto;left:-2px}.home-title-wrap{position:relative}.home-door-copy h1{position:relative;z-index:2;margin:0!important;color:#fff1c2!important;font-family:"Songti SC","STSong","Noto Serif SC",serif!important;font-size:clamp(45px,4.55vw,77px)!important;font-weight:600!important;line-height:1.17!important;letter-spacing:.045em!important;white-space:nowrap;text-shadow:0 2px 1px rgba(67,35,15,.72),0 0 18px rgba(245,198,105,.18)!important}.title-swash{position:absolute;z-index:1;height:76px;border:1.5px solid #e9b85e;border-top:0;border-left:0;opacity:.92;filter:drop-shadow(0 0 5px rgba(247,195,93,.36));pointer-events:none}.swash-a{left:-4px;top:58%;width:96%;border-radius:0 0 57% 50%;transform:rotate(-4deg)}.swash-b{left:12%;top:89%;width:81%;height:50px;border-radius:0 0 68% 60%;transform:rotate(5deg)}.title-spark{position:absolute;z-index:2;right:15%;bottom:-32px;color:#fff1b0;font-size:29px;font-weight:400;text-shadow:0 0 18px #f5c873}.home-lead{position:relative;z-index:3;margin:49px 0 0!important;text-align:center;color:#f5e3b5!important;font-family:"Songti SC","Noto Serif SC",serif!important;font-size:clamp(12px,1.15vw,17px)!important;line-height:1.88!important;letter-spacing:.16em!important;text-shadow:0 1px 6px #000}.home-cta{display:block;position:relative;z-index:3;width:min(24vw,345px);min-width:230px;margin:27px auto 0!important;padding:14px 25px!important;border:2px solid #f0c76f!important;border-radius:27px!important;background:linear-gradient(90deg,#a96e2a,#e9c375 47%,#aa6a28)!important;box-shadow:inset 0 0 0 3px rgba(80,44,18,.7),0 0 0 2px rgba(93,53,17,.9),0 5px 0 #1a1010,0 0 18px rgba(233,181,74,.32)!important;color:#3b1e11!important;font-family:"Songti SC","Noto Serif SC",serif!important;font-size:clamp(17px,1.65vw,25px)!important;font-weight:700!important;letter-spacing:.21em!important;text-shadow:0 1px rgba(255,239,183,.75)!important}.home-cta:before,.home-cta:after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:#6d421a;font-size:24px}.home-cta:before{left:15px}.home-cta:after{right:15px}.home-cta span{display:none}.home-door{left:43.3vw;right:auto;bottom:6.2vh;width:min(46vw,735px);height:min(78vh,830px);filter:drop-shadow(10px 14px 15px rgba(0,0,0,.34))}.door-cat{filter:drop-shadow(0 10px 8px rgba(0,0,0,.34))}.door-shadow{inset:10% 15% 3%;opacity:.48}.home-disclaimer{left:5.2vw;bottom:2.2vh}
@media(max-width:760px){.home-door-copy{left:18px;right:18px;bottom:62px;top:auto;width:auto;transform:none}.home-star{height:34px;margin-bottom:3px;font-size:39px;line-height:34px}.home-kicker{gap:8px;margin-bottom:14px!important;font-size:10px!important}.home-kicker i{width:35px}.home-door-copy h1{font-size:clamp(37px,11vw,55px)!important;line-height:1.16!important}.title-swash{height:48px}.swash-b{height:32px}.title-spark{right:13%;bottom:-23px;font-size:20px}.home-lead{margin-top:32px!important;font-size:11px!important}.home-cta{width:min(82vw,325px);margin-top:18px!important;padding:11px 22px!important;font-size:18px!important}.home-door{left:50%;right:auto;top:26px;bottom:auto;width:min(69vw,372px);height:46dvh;transform:translateX(-50%)}.home-disclaimer{left:18px;right:18px;bottom:10px}.home-bg{object-position:56% center}}

/* Directly extracted reference layers: artwork and lettering stay pixel-faithful instead of being approximated by web fonts. */
.home-door-copy{left:7.5vw;top:14.05vh;width:35.625vw;max-width:570px;transform:none}.home-title-art{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));animation:copy-enter .75s .2s both}.home-art-button{display:block;width:68.42%;margin:2px 0 0 11.4%;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 5px 2px rgba(0,0,0,.45));transition:transform .2s,filter .2s;animation:copy-enter .75s .38s both}.home-art-button img{display:block;width:100%;height:auto}.home-art-button:hover{transform:translateY(-2px);filter:drop-shadow(0 8px 5px rgba(0,0,0,.45)) brightness(1.08)}
@media(max-width:760px){.home-door-copy{left:5vw;right:5vw;top:auto;bottom:55px;width:auto;max-width:none}.home-title-art{width:100%}.home-art-button{width:68.42%;margin:1px auto 0}.home-door{top:18px;height:43dvh;width:min(63vw,340px)}.home-disclaimer{bottom:8px}}

/* Five independently positioned source layers.  Screen blending removes each source crop's dark backing, so the lettering fuses with the live archive background. */
.home-door-copy{position:absolute;inset:0;width:auto;max-width:none;transform:none;pointer-events:none}.art-layer{position:absolute;display:block;mix-blend-mode:screen;filter:drop-shadow(0 1px 3px rgba(0,0,0,.25));animation:copy-enter .7s both}.art-star{left:20vw;top:12.65vh;width:13.75vw;animation-delay:.12s}.art-label{left:3.44vw;top:18.74vh;width:38.75vw;animation-delay:.2s}.art-headline{left:5vw;top:26.71vh;width:40.625vw;animation-delay:.28s}.art-lead{left:13.75vw;top:47.33vh;width:26.875vw;animation-delay:.38s}.art-button{left:10vw;top:53.42vh;width:27.5vw;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;transition:transform .2s,filter .2s;animation-delay:.48s}.art-button img{display:block;width:100%;height:auto}.art-button:hover{transform:translateY(-2px);filter:drop-shadow(0 6px 4px rgba(0,0,0,.48)) brightness(1.06)}
@media(max-width:760px){.art-star{left:36.5vw;top:5.5dvh;width:27vw}.art-label{left:11vw;top:43dvh;width:78vw}.art-headline{left:6vw;top:49dvh;width:88vw}.art-lead{left:23vw;top:69dvh;width:54vw}.art-button{left:22.5vw;top:76dvh;width:55vw}.home-door{top:15px;height:38dvh;width:min(59vw,315px)}}

/* Final clean assets: no baked backdrop and no blend-mode crop artifacts. */
.art-layer{mix-blend-mode:normal;filter:drop-shadow(0 2px 5px rgba(0,0,0,.28))}.art-star{left:21.2vw;top:14.1vh;width:10.6vw}.art-label{left:8.3vw;top:22.1vh;width:30.5vw}.art-headline{left:8.7vw;top:29.3vh;width:36.3vw}.art-lead{left:17.5vw;top:49.3vh;width:25vw}.art-button{left:11.7vw;top:56.2vh;width:26.5vw;background:transparent;filter:drop-shadow(0 5px 3px rgba(0,0,0,.48))}.art-button:hover{filter:drop-shadow(0 8px 5px rgba(0,0,0,.52)) brightness(1.07)}
@media(max-width:760px){.art-star{left:41vw;top:3dvh;width:18vw}.art-label{left:15vw;top:42dvh;width:70vw}.art-headline{left:7vw;top:48dvh;width:86vw}.art-lead{left:23vw;top:68.5dvh;width:54vw}.art-button{left:21vw;top:76dvh;width:58vw}}

/* Exact artwork layers extracted from the approved composition; keep the original type rather than recreating it with a substitute font. */
.art-star{left:22.2vw;top:11.7vh;width:9.4vw}.art-label{left:7.8vw;top:20.1vh;width:29.4vw}.art-headline{left:6.56vw;top:28.1vh;width:35.6vw}.art-lead{left:15.3vw;top:47.3vh;width:25.6vw}.art-button{left:10.9vw;top:54.35vh;width:25.6vw}
@media(max-width:760px){.art-star{left:41vw;top:3dvh;width:18vw}.art-label{left:14vw;top:42dvh;width:72vw}.art-headline{left:6vw;top:48dvh;width:88vw}.art-lead{left:22vw;top:68.5dvh;width:56vw}.art-button{left:21vw;top:76dvh;width:58vw}}

/* Rebalanced against the floor-based background: every reference layer has its own gentle motion. */
.art-star{top:11.7vh;animation:copy-enter .55s both,drift-a 4.8s 1s ease-in-out infinite}.art-label{top:20.1vh;animation:copy-enter .6s .1s both,drift-b 5.6s 1.1s ease-in-out infinite}.art-headline{top:26.7vh;animation:copy-enter .7s .18s both,drift-c 6.1s 1.2s ease-in-out infinite}.art-lead{top:48.2vh;animation:copy-enter .6s .27s both,drift-b 5.3s 1.3s ease-in-out infinite}.art-button{top:56.3vh;animation:copy-enter .65s .36s both,drift-a 4.9s 1.4s ease-in-out infinite}.home-door{bottom:4.5vh;height:min(80vh,855px)}
@keyframes drift-a{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes drift-b{0%,100%{translate:0 0}50%{translate:0 4px}}@keyframes drift-c{0%,100%{translate:0 0}50%{translate:1px -3px}}
@media(max-width:760px){.art-label{top:43dvh}.art-headline{top:49dvh}.art-lead{top:69.5dvh}.art-button{top:77dvh}.home-door{top:15px;bottom:auto;height:38dvh}}
@media(prefers-reduced-motion:reduce){.art-star,.art-label,.art-headline,.art-lead,.art-button{animation:none}}

/* The personality label is the confirmed original lettering, not the substitute type layer. */
.art-label{mix-blend-mode:screen;filter:drop-shadow(0 1px 2px rgba(0,0,0,.24))}

/* The final redraw batch has a taller transparent canvas; size and space it as one coherent set. */
.art-label{mix-blend-mode:normal;left:10vw;top:18.2vh;width:20vw}.art-headline{left:6.6vw;top:26.7vh;width:35.6vw}.art-lead{left:15.8vw;top:46.9vh;width:20vw}.art-button{left:10.8vw;top:55.1vh;width:23vw}
@media(max-width:760px){.art-label{left:20vw;top:42.5dvh;width:60vw}.art-headline{left:6vw;top:49dvh;width:88vw}.art-lead{left:25vw;top:69.5dvh;width:50vw}.art-button{left:19vw;top:77dvh;width:62vw}}

/* Final responsive placement for the unified redraw batch. */
@media(min-width:1101px){
  .home-door{left:43.5vw;right:auto;bottom:4.7vh;width:min(43vw,650px);height:min(77vh,820px)}
  .art-label{left:10vw;top:18.2vh;width:20vw}
  .art-headline{left:6.6vw;top:26.7vh;width:35.6vw}
  .art-lead{left:15.8vw;top:47.2vh;width:20vw}
  .art-button{left:10.8vw;top:55.8vh;width:23vw}
}
@media(min-width:761px) and (max-width:1100px){
  .home-door{left:45vw;right:auto;bottom:3vh;width:50vw;height:76vh}
  .art-label{left:8vw;top:17vh;width:20vw}
  .art-headline{left:5vw;top:26vh;width:35vw}
  .art-lead{left:14vw;top:47vh;width:20vw}
  .art-button{left:9.5vw;top:56vh;width:23vw}
}
@media(max-width:760px){
  .home-door{left:50%;right:auto;top:2.5dvh;bottom:auto;width:min(59vw,315px);height:37dvh;transform:translateX(-50%)}
  .art-label{left:29vw;top:39dvh;width:42vw}
  .art-headline{left:8.5vw;top:45.5dvh;width:83vw}
  .art-lead{left:25vw;top:71.5dvh;width:50vw}
  .art-button{left:19vw;top:81.5dvh;width:62vw}
}
@media(max-width:760px) and (max-height:720px){
  .home-door{height:34dvh}
  .art-label{top:35dvh;width:40vw;left:30vw}
  .art-headline{top:41dvh;width:78vw;left:11vw}
  .art-lead{top:64dvh;width:46vw;left:27vw}
  .art-button{top:74dvh;width:56vw;left:22vw}
}

/* Optical alignment against the composition's main star / headline axis. */
@media(min-width:1101px){
  .art-label{left:15vw;top:18.2vh}
  .art-lead{left:15vw;top:50.4vh}
  .art-button{left:13vw;top:61.3vh}
  .home-door{left:47.5vw;bottom:-1.5vh}
}
@media(min-width:761px) and (max-width:1100px){
  .art-label{left:12.5vw;top:17vh}
  .art-lead{left:12.5vw;top:50.2vh}
  .art-button{left:11vw;top:61vh}
  .home-door{left:48vw;bottom:-1vh}
}

/* Tall desktop windows: preserve the approved wide layout, but close the excess vertical gaps. */
@media (min-width: 1101px) and (min-height: 1000px) and (max-aspect-ratio: 4 / 3){
  .art-label{left:16.5vw;top:20vh!important;width:20vw}
  .art-headline{left:6.6vw;top:27.5vh!important;width:35.6vw}
  .art-lead{left:15vw;top:40.5vh!important;width:20vw}
  .art-button{left:13vw;top:51vh!important;width:23vw}
  .home-door{left:50vw;bottom:-1vh;width:min(40vw,610px);height:min(72vh,800px)}
}

/* Result page: a complete cat dossier on the first desktop screen. */
.result-page{padding-bottom:8px}.result-screen{position:relative}.result-hero-v2{position:relative}.result-portrait{overflow:hidden;border-color:rgba(239,210,151,.48);box-shadow:16px 20px 42px rgba(0,0,0,.34)}.result-portrait img{height:100%;max-height:none;aspect-ratio:auto;object-position:center center}.result-overview{min-width:0}.result-kicker{display:flex;align-items:center;gap:10px;margin:0 0 7px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.2em}.result-kicker:before,.result-kicker:after{content:"";height:1px;background:linear-gradient(90deg,transparent,var(--gold));flex:1}.result-kicker:after{background:linear-gradient(90deg,var(--gold),transparent)}.result-type{font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(66px,8.6vw,112px);line-height:.82;letter-spacing:.065em;color:var(--pale);text-shadow:0 3px 22px rgba(208,164,90,.2)}.result-role{margin:10px 0 19px;color:#dbe8fa;font-size:clamp(19px,2.1vw,27px);font-weight:600;letter-spacing:.16em}.result-overview .quote{margin-bottom:14px;padding:13px 15px;font-size:15px}.result-overview .dims{gap:9px}.result-overview .dim{min-height:78px;padding:10px 11px}.mini-reading{margin-top:10px;padding:12px 14px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(213,168,90,.06))}.mini-label{display:block;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.16em}.mini-reading p{margin:5px 0 0;color:#dbe5f2;font-size:13px;line-height:1.7}.scroll-cue{margin:13px 0 0;color:var(--muted);font-size:10px;letter-spacing:.08em;text-align:right}.result-details{max-width:800px;margin:0 auto}.result-details .section:first-child{margin-top:0}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.result-action{min-height:50px;padding:12px 16px;border:1px solid var(--line);font:inherit;font-size:14px;font-weight:700;letter-spacing:.04em;transition:.18s}.result-action span{margin-left:8px;font-size:17px}.result-action-primary{color:#111927;border-color:var(--pale);background:linear-gradient(135deg,#f4d58d,#ae7333);box-shadow:4px 5px 0 rgba(0,0,0,.3)}.result-action-secondary{color:var(--paper);background:rgba(255,255,255,.035)}.result-action:hover{transform:translateY(-2px);border-color:var(--pale)}
@media(min-width:760px){.result-screen{min-height:calc(100dvh - 75px);display:grid;align-items:center}.result-hero-v2{display:grid;grid-template-columns:minmax(270px,.88fr) minmax(360px,1.12fr);gap:clamp(22px,4vw,48px);align-items:center}.result-portrait{height:min(69dvh,620px)}.result-details{margin-top:clamp(42px,8vh,90px)}.result-details .section{margin-top:34px;padding-top:25px}.result-details .section h3{margin:0 0 12px}.result-details .reading{max-width:none}.result-actions{max-width:570px}.result-overview{padding:4px 0}.result-overview .dims{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:759px){.result-screen{padding-top:22px}.result-hero-v2{display:block}.result-portrait{width:min(100%,440px);margin:auto}.result-portrait img{height:auto;aspect-ratio:2/3}.result-overview{margin-top:19px}.result-type{font-size:clamp(64px,19vw,92px)}.result-role{margin-bottom:16px}.scroll-cue{text-align:center}.result-details{margin-top:42px}.result-actions{grid-template-columns:1fr}.result-action{width:100%}}

/* Result dossier v2: generated layers stay independent; live HTML owns all changing words and scores. */
#app:has(.result-page){width:100%;max-width:none;padding:0}.result-page{position:relative;min-height:100dvh;overflow:hidden;background:#050d1a;color:#f3e6bd;isolation:isolate}.result-bg-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.9}.result-page:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(3,8,17,.08),rgba(3,8,17,.18) 58%,#050b17 100%);pointer-events:none}.result-shell{width:min(100% - 48px,1320px);margin:auto;padding:22px 0 74px}.result-brand{position:relative;z-index:2}.result-screen{display:grid;min-height:calc(100dvh - 68px);align-items:center}.result-hero-v3{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(440px,1.08fr);gap:clamp(42px,7vw,110px);align-items:center}.result-card-stage{position:relative;width:min(100%,555px);height:min(76dvh,730px);min-height:520px;margin:0 auto}.card-stack-art{position:absolute;z-index:0;left:-6%;top:3%;width:112%;height:94%;object-fit:contain;filter:drop-shadow(0 18px 17px rgba(0,0,0,.42))}.front-card{position:absolute;z-index:1;left:15%;top:1%;width:70%;height:96%;filter:drop-shadow(0 21px 17px rgba(0,0,0,.5));isolation:isolate}.card-base-art,.card-overlay-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.card-base-art{z-index:0}.portrait-art{position:absolute;z-index:1;left:8%;top:8%;width:84%;height:75%;object-fit:cover;object-position:center center;clip-path:inset(0 round 7% 7% 4% 4%);mix-blend-mode:normal}.card-overlay-art{z-index:2;pointer-events:none}.front-card figcaption{position:absolute;z-index:3;bottom:5.3%;left:9%;right:9%;margin:0;color:#f8de9a;font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(13px,1.4vw,18px);font-weight:700;letter-spacing:.22em;text-align:center;text-shadow:0 1px 4px #000}.result-overview{padding:8px 0 2px;max-width:610px}.result-overview .result-kicker{max-width:520px;margin-bottom:15px;font-family:"Songti SC","Noto Serif SC",serif;font-size:12px}.result-overview .result-type{font-size:clamp(76px,8vw,126px);line-height:.76;letter-spacing:.08em}.result-overview .result-role{margin:16px 0 21px;font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(20px,2.15vw,28px);font-weight:600;letter-spacing:.24em}.result-overview .quote{position:relative;margin:0 0 20px;padding:0 0 16px;border:0;border-bottom:1px solid rgba(237,197,110,.62);background:transparent;color:#e6d1a2;font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(14px,1.15vw,17px);line-height:1.85;text-align:center}.result-overview .quote:after{content:"✦";position:absolute;bottom:-10px;left:50%;translate:-50%;padding:0 10px;background:#091423;color:#efca78;font-size:13px}.result-overview .dims{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.result-overview .dim{position:relative;min-height:112px;padding:0;border:0;background:transparent;overflow:hidden}.tile-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.tile-copy{position:relative;z-index:1;display:flex;height:100%;padding:22px 11% 16px 31%;flex-direction:column;justify-content:center}.tile-copy b{display:block;color:#f5dd9d;font-size:14px;letter-spacing:.08em}.tile-copy small{display:block;margin-top:5px;color:#aebcd0;font-size:10px;white-space:nowrap}.tile-copy .bar{height:5px;margin-top:10px;border:1px solid rgba(232,190,104,.62);background:rgba(4,13,28,.82)}.tile-copy .bar span{background:linear-gradient(90deg,#c38d39,#ffe39a)}.result-overview .mini-reading{position:relative;margin-top:16px;padding:16px 50px 16px 58px;border:1px solid rgba(233,192,108,.67);background:linear-gradient(90deg,rgba(4,12,26,.88),rgba(11,28,52,.77));clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px))}.result-overview .mini-reading:before{content:"✒";position:absolute;left:21px;top:50%;translate:0 -50%;color:#e6bd67;font-size:25px}.result-overview .mini-label{color:#efc875;font-family:"Songti SC","Noto Serif SC",serif;font-size:11px;letter-spacing:.2em}.result-overview .mini-reading p{color:#dce5ee;font-size:13px;line-height:1.75}.result-overview .scroll-cue{margin-top:14px;color:#d3b673;font-size:11px;letter-spacing:.12em}.result-details{position:relative;width:100%;max-width:none;min-height:410px;margin:30px 0 0;padding:0;overflow:hidden}.reading-panel-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.98}.reading-content{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,90px);padding:clamp(46px,5vw,72px) clamp(44px,7vw,110px) 40px}.reading-main{padding-right:clamp(0px,3vw,42px);border-right:1px solid rgba(230,190,107,.45)}.reading-overline{display:block;color:#e7bf6c;font-size:11px;letter-spacing:.22em}.reading-main h2{margin:14px 0 22px;color:#f9dfa0;font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(26px,3vw,44px);font-weight:600;line-height:1.22;letter-spacing:.06em}.reading-main p,.reading-aside p{color:#dae1ea;font-family:"Songti SC","Noto Serif SC",serif;font-size:14px;line-height:2.05}.reading-aside h3{margin:1px 0 14px;color:#f2d28c;font-family:"Songti SC","Noto Serif SC",serif;font-size:18px;letter-spacing:.14em}.reading-aside p{margin:0}.result-details .result-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none;margin-top:27px}.result-details .result-action{min-height:53px;border:1px solid #d7ae5e;font-family:"Songti SC","Noto Serif SC",serif;font-size:14px;letter-spacing:.09em}.result-details .result-action-primary{background:linear-gradient(90deg,#0d2852,#1c4b86);color:#f9dda0;box-shadow:inset 0 0 0 3px rgba(9,24,47,.82),0 3px 0 rgba(0,0,0,.4)}.result-details .result-action-secondary{background:linear-gradient(135deg,#f2d58f,#b47a34);color:#33200e;box-shadow:inset 0 0 0 3px rgba(125,77,27,.58),0 3px 0 rgba(0,0,0,.4)}.result-details .disclaimer{position:relative;z-index:1;margin:0;padding:0 9vw 28px;color:#aab5c4;font-size:10px;text-align:center}
@media(max-width:900px){.result-shell{width:min(100% - 32px,760px)}.result-screen{padding:40px 0 32px}.result-hero-v3{grid-template-columns:1fr;gap:25px}.result-card-stage{width:min(100%,480px);height:min(68dvh,640px)}.result-overview{width:min(100%,620px);margin:auto}.reading-content{grid-template-columns:1fr;gap:26px}.reading-main{padding:0;border:0}.result-details{min-height:590px}.reading-panel-art{object-fit:cover}.reading-content{padding:52px 48px 40px}}
@media(max-width:600px){#app:has(.result-page){padding:0}.result-shell{width:min(100% - 22px,540px);padding-top:12px}.result-brand{font-size:10px}.result-screen{min-height:auto;padding:28px 0 32px}.result-card-stage{height:min(68dvh,575px);min-height:420px}.front-card{left:14%;width:72%}.result-overview .result-kicker{font-size:10px}.result-overview .result-type{font-size:76px}.result-overview .result-role{margin:13px 0 17px;font-size:19px}.result-overview .dims{gap:8px}.result-overview .dim{min-height:93px}.tile-copy{padding:17px 6% 12px 31%}.tile-copy b{font-size:12px}.tile-copy small{font-size:8px}.tile-copy .bar{margin-top:7px}.result-overview .mini-reading{margin-top:11px;padding:13px 25px 13px 48px}.result-overview .mini-reading:before{left:16px;font-size:21px}.result-details{min-height:640px;margin-top:8px}.reading-content{padding:38px 28px 28px}.reading-main h2{font-size:29px}.reading-main p,.reading-aside p{font-size:13px;line-height:1.95}.result-details .result-actions{grid-template-columns:1fr}.result-details .disclaimer{padding:0 23px 22px}}

/* Dossier v3: keep the name inside its plaque, and let both columns carry the story. */
.front-card{overflow:hidden}.front-card figcaption{bottom:8%;left:18%;right:18%;overflow:hidden;color:#f8dc98;font-family:"Ma Shan Zheng","STKaiti","Kaiti SC",serif;font-size:clamp(15px,1.35vw,20px);font-weight:400;letter-spacing:.14em;line-height:1;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 4px #000}.result-details{height:auto;min-height:0}.reading-panel-art{height:100%;object-fit:fill}.reading-content{grid-template-columns:1fr 1fr;grid-template-areas:"main aside" "care care";align-items:start;gap:0 clamp(34px,5vw,78px);padding-bottom:34px}.reading-main{grid-area:main;min-width:0;padding-right:clamp(25px,4vw,58px)}.reading-aside{grid-area:aside;min-width:0;padding-top:50px}.reading-aside p{margin:0 0 19px}.reading-care{grid-area:care;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(370px,.95fr);gap:clamp(32px,5vw,82px);align-items:center;margin-top:26px;padding-top:23px;border-top:1px solid rgba(230,190,107,.45)}.reading-care h3{margin:0 0 10px;color:#f2d28c;font-family:"Songti SC","Noto Serif SC",serif;font-size:18px;letter-spacing:.14em}.reading-care p{margin:0;color:#dae1ea;font-family:"Songti SC","Noto Serif SC",serif;font-size:13px;line-height:1.9}.reading-care .result-actions{margin-top:0}.result-details .disclaimer{padding-top:6px}
@media(max-width:900px){.reading-content{grid-template-columns:1fr;grid-template-areas:"main" "aside" "care";gap:23px}.reading-main{padding-right:0}.reading-aside{padding-top:0}.reading-care{grid-template-columns:1fr;margin-top:0;padding-top:22px}.reading-panel-art{object-fit:cover}}
@media(max-width:600px){.front-card figcaption{bottom:8%;left:18%;right:18%;font-size:16px;letter-spacing:.1em}.reading-content{padding:38px 28px 28px}.reading-care{gap:19px}.reading-care h3{font-size:16px}.reading-care p{font-size:13px;line-height:1.85}}

/* Native 2:1 reading panel: preserve the generated geometry instead of stretching it. */
@media(min-width:901px){.result-details{aspect-ratio:2/1;min-height:0;margin-top:32px}.reading-panel-art{object-fit:contain;object-position:center center}.reading-content{height:100%;grid-template-rows:1fr auto;padding:clamp(34px,3.4vw,52px) clamp(58px,7.2vw,118px) 24px}.reading-main{padding-right:clamp(26px,4.3vw,68px)}.reading-aside{padding-top:0}.reading-main h2{margin:9px 0 13px;font-size:clamp(22px,2vw,31px);line-height:1.18;white-space:nowrap}.reading-overline{font-size:10px;letter-spacing:.24em}.reading-echo{display:block;margin-bottom:22px}.reading-main p,.reading-aside p{font-size:clamp(12px,.92vw,13px);line-height:1.8}.reading-aside p{margin-bottom:13px}.reading-care{grid-template-columns:minmax(0,1fr) minmax(340px,.88fr);gap:clamp(28px,4.5vw,72px);margin-top:8px;padding-top:8px}.reading-care h3{margin-bottom:4px;font-size:14px}.reading-care p{font-size:10px;line-height:1.45}.result-details .result-actions{gap:10px}.result-details .result-action{min-height:38px;padding:7px 12px;font-size:11px}.result-details .disclaimer{display:none}}
@media(min-width:901px){.reading-content{grid-template-rows:1fr;padding-bottom:24px}.reading-care{position:absolute;left:clamp(58px,7.2vw,118px);right:clamp(58px,7.2vw,118px);top:25%!important;bottom:auto!important;transform:translateY(clamp(-300px,-10vw,-180px));display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.88fr);gap:clamp(28px,4.5vw,72px);align-items:center;margin:0;padding:0;border:0}.reading-care h3{margin:0 0 2px;font-size:13px;line-height:1.1}.reading-care p{max-width:100%;margin:0;font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-details .result-actions{margin:0}.result-details .result-action{min-height:34px;padding:5px 10px;font-size:10px}}

/* Reading panel grid: mapped to the decorative frame's actual writing bays. */
@media(min-width:901px){
  .result-details{aspect-ratio:2/1;overflow:hidden}
  .reading-content{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:45% 18%;grid-template-areas:"main aside" "care care";column-gap:7.2%;row-gap:17%;align-content:start;height:100%;padding:9.5% 8.4% 8%;box-sizing:border-box}
  .reading-main{grid-area:main;min-width:0;height:100%;padding:0 8% 0 0;border-right:1px solid rgba(230,190,107,.45);overflow:hidden}
  .reading-aside{grid-area:aside;min-width:0;height:100%;padding:0;overflow:hidden}
  .reading-main h2{margin:8px 0 13px;font-size:clamp(22px,1.85vw,30px);line-height:1.18;white-space:nowrap}
  .reading-overline,.reading-echo{font-size:10px;letter-spacing:.22em}
  .reading-echo{margin:0 0 18px}
  .reading-main p,.reading-aside p{margin:0;color:#dae1ea;font-size:clamp(11px,.83vw,13px);line-height:1.72}
  .reading-aside p+p{margin-top:14px}
  .reading-care{position:static!important;transform:none!important;grid-area:care;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:clamp(34px,5vw,80px);align-items:center;min-width:0;margin:0;padding:0;border:0}
  .reading-care h3{margin:0 0 5px;color:#f2d28c;font-size:clamp(13px,1vw,16px);line-height:1.15;letter-spacing:.12em}
  .reading-care p{max-width:100%;margin:0;color:#dae1ea;font-size:clamp(10px,.73vw,12px);line-height:1.5;white-space:normal;overflow:hidden;text-overflow:clip}
  .result-details .result-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0;align-self:center}
  .result-details .result-action{min-height:46px;padding:8px 13px;font-size:clamp(11px,.84vw,13px);letter-spacing:.1em;line-height:1.1}
  .result-details .result-action span{margin-left:6px;font-size:15px}
}

@media(min-width:901px){
  .reading-main p,.reading-aside p{line-height:1.92}
  .reading-aside p+p{margin-top:22px}
  .result-details .result-actions{gap:16px}
  .result-details .result-action{min-height:48px;padding:9px 16px;font-size:clamp(12px,.9vw,14px);letter-spacing:.13em}
}

/* Reading typography: three coordinated scales, with a tighter central seam. */
@media(min-width:901px){
  .reading-content{column-gap:3.6%;row-gap:13%;grid-template-rows:55% 18%;padding-left:8.4%;padding-right:8.4%}
  .reading-main{padding-right:4.2%}
  .reading-overline,.reading-echo{font-size:clamp(12px,.84vw,14px);letter-spacing:.18em;line-height:1.2}
  .reading-main h2{font-size:clamp(25px,1.8vw,29px);line-height:1.2;letter-spacing:.075em}
  .reading-main p,.reading-aside p{font-size:clamp(12px,.86vw,13.5px);line-height:2.08;letter-spacing:.042em}
  .reading-aside p+p{margin-top:27px}
  .reading-care h3{font-size:clamp(12px,.84vw,14px);letter-spacing:.18em;line-height:1.2}
  .reading-care p{font-size:clamp(11px,.78vw,12.5px);line-height:1.72;letter-spacing:.035em}
  .result-details .result-actions{gap:18px;align-self:end}
  .result-details .result-action{min-height:50px;padding:10px 18px;font-size:clamp(12px,.88vw,13.5px);letter-spacing:.15em}
}

@media(min-width:901px){
  .reading-note{margin-top:22px;padding-top:16px;border-top:1px solid rgba(230,190,107,.3)}
  .reading-note span{display:block;margin-bottom:8px;color:#e7bf6c;font-size:clamp(11px,.76vw,12.5px);letter-spacing:.16em;line-height:1.2}
  .reading-note p{margin:0!important}
  .reading-care p{max-width:94%}
}

@media(min-width:901px){
  .reading-aside{transform:translateX(3.2%)}
  .reading-care h3{margin-bottom:9px}
  .reading-care p{max-width:100%;font-size:clamp(12px,.86vw,13.5px);line-height:1.82;letter-spacing:.042em}
}

/* One coherent type scale inside the reading frame: display / section / body. */
@media(min-width:901px){
  .reading-main h2{font-size:clamp(26px,1.8vw,29px);font-weight:600;line-height:1.2;letter-spacing:.075em}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(12px,.84vw,14px);font-weight:600;line-height:1.2;letter-spacing:.18em}
  .reading-main p,.reading-aside p,.reading-note p,.reading-care p{font-size:clamp(12px,.86vw,13.5px);font-weight:400;line-height:1.92;letter-spacing:.042em}
  .reading-note{position:relative;margin-top:20px;padding:15px 0 17px;border-top:1px solid rgba(230,190,107,.48);border-bottom:0}
  .reading-note:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(230,190,107,.62),rgba(230,190,107,.3) 72%,transparent)}
  .reading-main .reading-note p{padding-bottom:16px!important;border-bottom:1px solid rgba(230,190,107,.62)}
  .reading-note-rule{display:block;width:100%;height:1px;margin-top:2px;background:linear-gradient(90deg,rgba(230,190,107,.72),rgba(230,190,107,.35) 72%,transparent)}
  .reading-note span{margin-bottom:9px}
  .reading-care h3{margin-bottom:9px}
}

/* Reading frame v4: all three written areas share one explicit grid and type scale. */
@media(min-width:901px){
  .reading-content{
    --reading-section:clamp(12px,.84vw,14px);
    --reading-body:clamp(12px,.86vw,13.5px);
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:3.6%;
  }
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{
    font-family:"Songti SC","Noto Serif SC",serif;
    font-size:var(--reading-section);
    font-weight:600;
    line-height:1.2;
    letter-spacing:.18em;
  }
  .reading-main p,.reading-aside p,.reading-note p,.reading-care p{
    font-family:"Songti SC","Noto Serif SC",serif;
    font-size:var(--reading-body);
    font-weight:400;
    line-height:1.92;
    letter-spacing:.042em;
  }
  .reading-care{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:3.6%;
    align-items:end;
    transform:translateY(clamp(-54px,-2.5vw,-32px))!important;
  }
  .reading-care>div:first-child{
    min-width:0;
    box-sizing:border-box;
    padding-right:4.2%;
    padding-top:18px;
    border-top:1px solid rgba(230,190,107,.5);
  }
  .reading-care .result-actions{
    min-width:0;
    padding-top:0;
    border-top:0;
    transform:translate(3.2%,-10px);
  }
  .reading-care h3{margin-bottom:9px}
  .reading-care p{max-width:none}
  .reading-main .reading-note p{padding-bottom:0!important;border-bottom:0}
  .reading-note:after,.reading-note-rule{display:none}
}

/* Reading page v6: the analysis rests on a dedicated double-page star folio. */
@media(min-width:901px){
  .result-details{aspect-ratio:2 / 1;background:#071426}
  .reading-panel-art{content:url("./assets/result-layers/reading-star-folio-v1.png");object-fit:contain;object-position:center center}
  .reading-content{padding:29% 9% 7%;grid-template-rows:55% 18%;row-gap:25%;column-gap:7.2%}
  .reading-main{padding-right:6%;border-right:0}
  .reading-aside{padding-left:2%;transform:none}
  .reading-main h2{margin:4px 0 13px;font-size:clamp(24px,1.8vw,30px);white-space:normal}
  .reading-main p,.reading-aside p,.reading-note p{font-size:clamp(11px,.8vw,13px);line-height:1.74}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(11px,.8vw,13px);letter-spacing:.16em}
  .reading-echo{margin-bottom:15px}
  .reading-care{grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);align-items:center;column-gap:7.2%}
  .reading-care>div:first-child{padding:0;border:0}
  .reading-care p{font-size:clamp(10px,.74vw,12px);line-height:1.58}
  .reading-care .result-actions{transform:none;padding:0;align-self:center}
  .result-details .result-action{min-height:clamp(34px,3.2vw,46px);border:0;background:transparent!important;box-shadow:none!important;color:#f6dc9d;font-size:clamp(10px,.8vw,13px);letter-spacing:.13em}
  .result-details .result-action-secondary{color:#f6dc9d}
}

/* iPad / square canvas: a dedicated star-chart banner, never a shrunken desktop doorway. */
@media (min-width:761px) and (max-width:1100px) and (max-aspect-ratio:4 / 3){
  .home-door-page{isolation:isolate;overflow:hidden;background:#07101e}
  .home-door-page .home-bg{content:url("./assets/home/ipad-star-chart-banner-v1.png");object-position:center center;opacity:1}
  .home-door-page .home-vignette{background:linear-gradient(180deg,rgba(4,10,21,.05),rgba(4,10,21,.05) 45%,rgba(4,10,21,.48) 100%)}
  .home-door-page .home-door{display:none}
  .home-door-page .home-door-copy{left:50%;top:0;bottom:0;width:min(86vw,680px);translate:-50% 0}
  .home-door-page .art-label{left:50%;top:46.5dvh!important;width:min(42vw,330px);translate:-50% 0;filter:drop-shadow(0 2px 7px rgba(0,0,0,.62))}
  .home-door-page .art-headline{left:50%;top:52dvh!important;width:min(68vw,540px);translate:-50% 0;filter:drop-shadow(0 3px 9px rgba(0,0,0,.66))}
  .home-door-page .art-lead{left:50%;top:69.5dvh!important;width:min(43vw,340px);translate:-50% 0}
  .home-door-page .art-button{left:50%;top:79.2dvh!important;width:min(37vw,295px);translate:-50% 0}
  .home-door-page .home-brand{z-index:3;left:clamp(24px,4vw,48px);top:clamp(22px,3.5vh,38px)}
  .home-door-page .home-disclaimer{z-index:3;left:50%;bottom:clamp(13px,2.6vh,24px);width:86%;translate:-50% 0;text-align:center;font-size:clamp(9px,1.25vw,11px)}
}

/* Result dossier v5: editorial hierarchy and aligned first-panel details. */
.result-overview .result-kicker{justify-content:flex-start;max-width:560px;letter-spacing:.16em}.result-overview .result-kicker:before{max-width:44px;flex:0 0 44px}.result-overview .result-kicker:after{display:none}.result-overview .result-role{display:flex;align-items:baseline;gap:15px;margin:15px 0 20px;letter-spacing:.11em}.result-overview .result-role span{color:#f7dda0;font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(23px,2.5vw,34px);font-weight:600;white-space:nowrap}.result-overview .result-role small{color:#9fafc6;font-family:"Songti SC","Noto Serif SC",serif;font-size:11px;font-weight:400;letter-spacing:.14em;white-space:nowrap}.result-overview .quote{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;max-width:550px;padding:7px 0 18px;text-align:left;letter-spacing:.1em}.result-overview .quote span{display:block;max-width:31em}.result-overview .quote i{color:#eecb80;font-family:"Zhi Mang Xing","Ma Shan Zheng",cursive;font-size:25px;font-style:normal;line-height:.8}.result-overview .quote i:last-child{display:none}.result-overview .quote:after{bottom:-8px;left:calc(50% - 7px);padding:0 8px;font-size:12px}.tile-copy{padding-left:35%;padding-right:9%}.tile-copy b{letter-spacing:.11em}.tile-copy .bar{height:7px;margin-top:11px;border-color:rgba(244,207,125,.72);box-shadow:0 0 0 1px rgba(0,0,0,.26) inset}.result-overview .mini-label{letter-spacing:.16em}.result-overview .scroll-cue{letter-spacing:.15em}.result-overview .mini-reading:before{content:"✦";font-size:19px}.result-overview .dims{margin-top:2px}
@media(max-width:600px){.result-overview .result-role{gap:10px}.result-overview .result-role span{font-size:25px}.result-overview .quote{grid-template-columns:18px minmax(0,1fr);letter-spacing:.065em}.tile-copy{padding-left:34%;padding-right:7%}.tile-copy .bar{height:6px}}

/* Final first-panel refinements: mirror the homepage's star and use a hand-drawn quotation rule. */
.result-brand b{width:auto;height:auto;border:0;border-radius:0;color:#f2c96d;font-size:18px;line-height:1}.result-overview .result-kicker:before,.result-overview .result-kicker:after{display:block;max-width:44px;flex:0 0 44px}.result-overview .quote{grid-template-columns:20px minmax(0,1fr);gap:10px;padding:5px 0 19px;letter-spacing:.075em}.result-overview .quote b{display:block;color:#eecb80;font-size:13px;line-height:1.65;text-shadow:0 0 12px rgba(241,195,102,.55)}.result-overview .quote span{max-width:33em;padding-left:13px;border-left:1px solid rgba(239,199,117,.64);font-family:"Songti SC","Noto Serif SC",serif;line-height:1.92}.result-overview .quote i{display:none}.result-overview .result-role{margin-top:13px}.front-card figcaption{letter-spacing:.1em}
@media(max-width:600px){.result-brand b{font-size:16px}.result-overview .quote{grid-template-columns:16px minmax(0,1fr);gap:7px}.result-overview .quote span{padding-left:10px}}

/* Mid-width result reading: use the same dedicated folio rather than shrinking the desktop observatory. */
@media (min-width:601px) and (max-width:900px){
  .result-details{aspect-ratio:2 / 1;background:#071426}
  .reading-panel-art{content:url("./assets/result-layers/reading-star-folio-v1.png?folio=1")!important;object-fit:contain;object-position:center center}
  .reading-content{padding:29% 8.5% 7%;grid-template-rows:55% 18%;row-gap:25%;column-gap:7%}
  .reading-main{padding-right:5%;border-right:0}
  .reading-aside{padding-left:1%;transform:none}
  .reading-main h2{margin:2px 0 10px;font-size:clamp(20px,3vw,27px);white-space:normal}
  .reading-main p,.reading-aside p,.reading-note p{font-size:clamp(10px,1.35vw,12px);line-height:1.68}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(10px,1.25vw,12px);letter-spacing:.14em}
  .reading-echo{margin-bottom:11px}
  .reading-care{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;column-gap:7%}
  .reading-care>div:first-child{padding:0;border:0}
  .reading-care p{font-size:clamp(9px,1.1vw,11px);line-height:1.5}
  .reading-care .result-actions{transform:none;padding:0;align-self:center}
  .result-details .result-action{min-height:34px;border:0;background:transparent!important;box-shadow:none!important;color:#f6dc9d;font-size:clamp(9px,1.1vw,11px);letter-spacing:.1em}
  .result-details .result-action-secondary{color:#f6dc9d}
}

/* Keep the folio a real 2:1 page on tablets: copy must never stretch its canvas. */
@media (min-width:601px) and (max-width:900px){
  .result-details{height:calc(100vw / 2)!important;min-height:0!important;overflow:hidden}
  .reading-content{height:100%;box-sizing:border-box;padding:17vw 8.5% 3.5vw!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;grid-template-areas:"main aside" "care care"!important;column-gap:7%!important;row-gap:4vw!important}
  .reading-main{grid-area:main!important;padding-right:5%!important}
  .reading-aside{grid-area:aside!important;padding-left:1%!important}
  .reading-care{grid-area:care!important;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)!important;column-gap:7%!important}
  .reading-main h2{font-size:clamp(18px,2.7vw,23px)!important;line-height:1.16}
  .reading-main p,.reading-aside p,.reading-note p{font-size:clamp(8.5px,1.15vw,10px)!important;line-height:1.46!important}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(8.5px,1.05vw,10px)!important;letter-spacing:.12em!important}
  .reading-note{margin-top:9px!important;padding-top:8px!important}
  .reading-care{transform:none!important}
  .reading-care p{font-size:clamp(8px,1vw,9.5px)!important;line-height:1.35!important}
  .result-details .result-action{min-height:28px!important;font-size:clamp(8px,1vw,10px)!important}
  .reading-care .result-actions{width:74%!important;margin-left:auto!important}
}

@media (min-width:901px){
  .reading-care .result-actions{width:72%!important;margin-left:auto!important}
}

/* Single-sheet reading dossier: a generous vertical archive page, never a squeezed spread. */
.result-details{
  width:min(92vw,780px)!important;
  max-width:780px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4 / 5!important;
  margin:clamp(38px,6vw,76px) auto 0!important;
  overflow:hidden!important;
  background:#071426;
}
.reading-panel-art{
  content:url("./assets/result-layers/reading-single-dossier-v1.png?dossier=1")!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center!important;
}
.reading-content{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:13.5% 14% 10.8%!important;
}
.reading-main,.reading-aside,.reading-care{
  position:static!important;
  display:block!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transform:none!important;
  overflow:visible!important;
}
.reading-main{flex:0 0 39%}
.reading-aside{flex:0 0 31%}
.reading-care{flex:1 1 auto}
.reading-overline,.reading-echo,.reading-note span,.reading-care h3{
  display:block!important;
  color:#e8c675!important;
  font-family:"Songti SC","Noto Serif SC",serif!important;
  font-size:clamp(10px,1.1vw,12px)!important;
  font-weight:600!important;
  letter-spacing:.16em!important;
}
.reading-echo{margin:0 0 10px!important}
.reading-main h2{
  margin:8px 0 13px!important;
  color:#f7dfa2!important;
  font-family:"Songti SC","Noto Serif SC",serif!important;
  font-size:clamp(25px,2.45vw,34px)!important;
  line-height:1.2!important;
  letter-spacing:.075em!important;
  white-space:normal!important;
}
.reading-main p,.reading-aside p,.reading-note p,.reading-care p{
  margin:0!important;
  color:#e0e7ef!important;
  font-family:"Songti SC","Noto Serif SC",serif!important;
  font-size:clamp(11px,1.05vw,13px)!important;
  line-height:1.72!important;
  letter-spacing:.035em!important;
}
.reading-note{
  margin-top:13px!important;
  padding-top:11px!important;
  border-top:1px solid rgba(232,195,112,.48)!important;
}
.reading-note span{margin-bottom:5px!important}
.reading-care{padding-top:11px!important;border-top:1px solid rgba(232,195,112,.48)!important}
.reading-care h3{margin:0 0 5px!important}
.reading-care p{font-size:clamp(10px,.9vw,11.5px)!important;line-height:1.5!important}
.reading-care .result-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:3.6%!important;
  width:100%!important;
  margin:clamp(80px,12vw,100px) 0 0!important;
  padding:0!important;
  transform:none!important;
}
.result-details .result-action{
  min-height:clamp(38px,4vw,48px)!important;
  padding:7px 9px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#f6df9f!important;
  font-family:"Songti SC","Noto Serif SC",serif!important;
  font-size:clamp(10px,.95vw,12px)!important;
  letter-spacing:.11em!important;
}
.result-details .disclaimer{display:none!important}
@media(max-width:600px){
  .result-details{width:min(95vw,510px)!important;margin-top:28px!important}
  .reading-content{padding:14% 13% 10.5%!important}
  .reading-main{flex-basis:38%}
  .reading-aside{flex-basis:33%}
  .reading-main h2{font-size:clamp(21px,6.1vw,28px)!important;margin:7px 0 10px!important}
  .reading-main p,.reading-aside p,.reading-note p{font-size:clamp(10px,2.8vw,12px)!important;line-height:1.62!important}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(9px,2.55vw,11px)!important}
  .reading-note{margin-top:9px!important;padding-top:8px!important}
  .reading-care{padding-top:8px!important}
  .reading-care p{font-size:clamp(9px,2.45vw,10.5px)!important}
}

/* Wide floating archive frame: scenery remains the page background; this layer is frame only. */
.result-details{
  isolation:isolate;
  width:min(calc(100% - 48px),1320px)!important;
  max-width:1320px!important;
  height:auto!important;
  aspect-ratio:5 / 4!important;
  margin:clamp(42px,6vw,82px) auto 0!important;
  overflow:visible!important;
  background:transparent!important;
}
.result-details:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:3.8% 4.6%;
  background:linear-gradient(135deg,rgba(5,15,32,.82),rgba(7,20,43,.76));
  box-shadow:0 22px 54px rgba(0,0,0,.32),inset 0 0 58px rgba(0,0,0,.26);
  backdrop-filter:blur(8px);
}
.reading-panel-art{
  z-index:1!important;
  content:url("./assets/result-layers/reading-frame-wide-v1.png?frame=1")!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  opacity:1!important;
}
.reading-content{
  z-index:2!important;
  padding:10.5% 12.5% 10.8%!important;
}
.reading-main{flex-basis:37%!important}
.reading-aside{flex-basis:31%!important}
.reading-care{flex:1 1 auto!important}
.reading-main h2{font-size:clamp(26px,2.5vw,37px)!important;margin:7px 0 14px!important}
.reading-main p,.reading-aside p,.reading-note p{font-size:clamp(11px,.95vw,13px)!important;line-height:1.72!important}
.reading-care .result-actions{
  position:absolute!important;
  left:24%!important;
  right:24%!important;
  bottom:7.2%!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.result-details .result-action{min-height:clamp(38px,3.6vw,48px)!important}
@media(max-width:900px){
  .result-details{width:min(calc(100% - 32px),760px)!important;aspect-ratio:5 / 4!important}
  .reading-content{padding:10.8% 12.8% 11%!important}
  .reading-main h2{font-size:clamp(22px,3.7vw,29px)!important;margin:5px 0 9px!important}
  .reading-main p,.reading-aside p,.reading-note p{font-size:clamp(9.5px,1.55vw,11.5px)!important;line-height:1.58!important}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(9px,1.4vw,11px)!important}
  .reading-note{margin-top:9px!important;padding-top:8px!important}
  .reading-care{padding-top:8px!important}
  .reading-care p{font-size:clamp(9px,1.3vw,10.5px)!important;line-height:1.4!important}
}
@media(max-width:600px){
  .result-details{width:min(calc(100% - 22px),540px)!important;aspect-ratio:4 / 5!important}
  .result-details:before{inset:3.5% 4.3%}
  .reading-content{padding:13.5% 13% 12.2%!important}
  .reading-main{flex-basis:38%!important}
  .reading-aside{flex-basis:32%!important}
  .reading-main h2{font-size:clamp(21px,6vw,27px)!important}
  .reading-care .result-actions{left:23%!important;right:23%!important;bottom:7.5%!important}
}

/* Frame interior rhythm: one thought per band, with a consistent celestial rule. */
.reading-main,.reading-aside,.reading-care{flex:0 0 auto!important}
.reading-main{padding-bottom:0!important}
.reading-aside{padding-top:12px!important}
.reading-main>p,.reading-aside>p,.reading-note,.reading-care{
  border-top:1px solid rgba(234,199,120,.5)!important;
}
.reading-main>p{
  border-top:0!important;
  margin-top:0!important;
  padding-top:0!important;
}
.reading-main>p,.reading-aside>p{
  margin-top:10px!important;
  padding:11px 0!important;
}
.reading-note{
  margin-top:0!important;
  padding:12px 0!important;
  border-bottom:0!important;
}
.reading-note span{margin-bottom:6px!important}
.reading-care{
  margin-top:0!important;
  padding:12px 0 0!important;
}
.reading-care h3{margin-bottom:6px!important}
.reading-care .result-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  align-items:center!important;
}
.result-details .result-action{
  display:grid!important;
  place-items:center!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.result-details .result-action:focus-visible{
  outline:1px solid rgba(247,217,144,.95)!important;
  outline-offset:3px!important;
}

/* Final type and action polish inside the archive frame. */
.reading-overline,.reading-echo,.reading-note span,.reading-care h3{
  font-family:"Noto Serif SC","Songti SC",serif!important;
  font-size:clamp(12px,.95vw,14px)!important;
  font-weight:600!important;
  line-height:1.55!important;
  letter-spacing:.07em!important;
}
.reading-main p,.reading-aside p,.reading-note p,.reading-care p{
  font-family:"Noto Serif SC","Songti SC",serif!important;
  font-size:clamp(12px,.95vw,14px)!important;
  font-weight:500!important;
  line-height:1.78!important;
  letter-spacing:.035em!important;
}
.reading-care .result-actions{align-items:stretch!important}
.result-details .result-action{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  text-align:center!important;
  text-indent:.08em!important;
  color:#f8df9b!important;
  background:linear-gradient(135deg,rgba(5,16,35,.94),rgba(15,39,73,.86))!important;
  box-shadow:inset 0 0 0 1px rgba(249,214,132,.28),0 4px 12px rgba(0,0,0,.25)!important;
}

/* A single quiet footing behind both controls hides the generated frame's stray baseline. */
.reading-care .result-actions{
  isolation:isolate;
  padding:9px 12px!important;
  background:linear-gradient(90deg,rgba(4,14,31,.94),rgba(13,34,65,.88),rgba(4,14,31,.94))!important;
  border:1px solid rgba(233,194,112,.32)!important;
  border-radius:4px!important;
  box-shadow:0 9px 22px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,232,169,.1)!important;
}
.result-details .result-action{
  min-height:42px!important;
  background:linear-gradient(135deg,rgba(8,23,47,.98),rgba(22,53,96,.94))!important;
}
@media(max-width:900px){
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(10px,1.45vw,12px)!important}
  .reading-main p,.reading-aside p,.reading-note p,.reading-care p{font-size:clamp(10px,1.4vw,12px)!important;line-height:1.7!important}
}
@media(max-width:900px){
  .reading-aside{padding-top:8px!important}
  .reading-main>p,.reading-aside>p{margin-top:8px!important;padding:8px 0!important}
  .reading-note{padding:9px 0!important}
  .reading-care{padding-top:9px!important}
}

/* Result reading v7: the copy is an article, not coordinates on an image.
   The new taller folio supplies atmosphere only; its height follows the text. */
@media (min-width:901px){
  .result-details{
    width:min(calc(100% - 48px),1200px)!important;
    max-width:1200px!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 9!important;
    margin:clamp(26px,3vw,42px) auto 0!important;
    overflow:hidden!important;
    background:#071426!important;
  }
  .result-details:before{display:none!important}
  .reading-panel-art{
    content:url("./assets/result-layers/reading-two-column-article-v1.png?article=1")!important;
    object-fit:cover!important;
    object-position:center top!important;
    opacity:.9!important;
  }
  .reading-content{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"main aside" "care care"!important;align-items:start!important;column-gap:7.2%!important;row-gap:34px!important;height:auto!important;padding:clamp(42px,4.5vw,56px) clamp(60px,7.5vw,96px) clamp(30px,3.2vw,42px)!important}
  .reading-main,.reading-aside,.reading-care{position:static!important;min-width:0!important;height:auto!important;margin:0!important;transform:none!important;overflow:visible!important}
  .reading-main{grid-area:main!important;padding:0 7.2% 0 0!important;border-right:0!important}
  .reading-aside{grid-area:aside!important;padding:0 0 0 5.5%!important}
  .reading-care{grid-area:care!important;display:block!important;justify-self:auto!important;width:auto!important;margin-left:56.35%!important;padding:0!important;border:0!important}
  .reading-main h2{margin:7px 0 16px!important;font-size:clamp(25px,2vw,32px)!important;line-height:1.24!important;white-space:normal!important}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(12px,.84vw,14px)!important;letter-spacing:.18em!important;line-height:1.2!important}
  .reading-echo{display:block!important;margin:0 0 18px!important}
  .reading-main p,.reading-aside p,.reading-note p,.reading-care p{font-size:clamp(12px,.88vw,14px)!important;line-height:1.9!important}
  .reading-main>p,.reading-aside>p{margin:0!important;padding:0!important;border:0!important}
  .reading-note{width:100%!important;margin-top:20px!important;padding:16px 0 0!important;border-top:1px solid rgba(230,190,107,.52)!important}
  .reading-note span{margin-bottom:9px!important}
  .reading-note-rule{display:none!important}
  .reading-care .result-actions{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .result-details .result-action{
    position:relative!important;
    min-height:48px!important;
    padding:0 18px!important;
    border:1px solid rgba(249,214,132,.72)!important;
    border-radius:2px!important;
    background:#091a31!important;
    box-shadow:inset 0 0 0 3px #091a31,inset 0 0 0 4px rgba(247,213,136,.26),0 5px 14px rgba(0,0,0,.28)!important;
    color:#f6dc9d!important;
    font-size:clamp(10px,.8vw,13px)!important;
    letter-spacing:.13em!important;
  }
  .result-details .result-action:before,.result-details .result-action:after{content:"✦";position:absolute;top:50%;translate:0 -50%;color:#f3ce78;font-size:12px;text-shadow:0 0 10px rgba(255,215,128,.75)}
  .result-details .result-action:before{left:10px}.result-details .result-action:after{right:10px}
  .result-details .result-action-secondary{background:#0c203b!important}
  .result-details .result-action:hover{transform:translateY(-3px)!important;color:#fff1bd!important;border-color:#ffe09a!important;background:#173b68!important;box-shadow:inset 0 0 0 3px #173b68,inset 0 0 0 4px rgba(255,229,161,.72),0 10px 24px rgba(0,0,0,.42),0 0 20px rgba(235,190,100,.24)!important}
  .result-details .result-action:hover:before,.result-details .result-action:hover:after{color:#fff0ae!important;text-shadow:0 0 15px rgba(255,220,132,.98)!important}
}

@media (min-width:901px){
  .result-shell{padding-bottom:30px!important}
}

@media (max-width:900px){
  .result-details{width:min(calc(100% - 28px),760px)!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;margin:30px auto 0!important;overflow:hidden!important;background:#071426!important}
  .result-details:before{display:none!important}
  .reading-panel-art{content:url("./assets/result-layers/reading-two-column-article-v1.png?article-mobile=1")!important;object-fit:cover!important;object-position:center top!important;opacity:.78!important}
  .reading-content{position:relative!important;inset:auto!important;display:block!important;height:auto!important;padding:clamp(58px,11vw,82px) clamp(26px,8vw,52px) clamp(54px,10vw,72px)!important}
  .reading-main,.reading-aside,.reading-care{position:static!important;display:block!important;height:auto!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;overflow:visible!important;border:0!important}
  .reading-aside,.reading-care{margin-top:25px!important;padding-top:23px!important;border-top:1px solid rgba(230,190,107,.45)!important}
  .reading-main h2{font-size:clamp(23px,5.8vw,30px)!important;line-height:1.28!important;white-space:normal!important}
  .reading-main p,.reading-aside p,.reading-note p,.reading-care p{font-size:clamp(12px,3vw,14px)!important;line-height:1.9!important}
  .reading-note{margin-top:20px!important;padding-top:16px!important}
  .reading-care .result-actions{position:static!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;margin:26px 0 0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .result-details .result-action{min-height:46px!important;background:linear-gradient(135deg,rgba(8,23,47,.98),rgba(22,53,96,.94))!important;border:1px solid rgba(249,214,132,.28)!important;box-shadow:inset 0 0 0 1px rgba(249,214,132,.12),0 4px 12px rgba(0,0,0,.25)!important}
}

/* The card plaque carries both the personality code and its cat name at every viewport. */
.front-card figcaption,.share-card-stage figcaption{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  line-height:1!important;
}
.front-card figcaption strong,.share-card-stage figcaption strong{
  display:block!important;
  color:#d6ad57!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(8px,.72vw,11px)!important;
  font-weight:700!important;
  letter-spacing:.2em!important;
}
.front-card figcaption span,.share-card-stage figcaption span{
  display:block!important;
  color:#f8de9a!important;
  font-family:"Ma Shan Zheng","STKaiti","Kaiti SC",serif!important;
  font-size:clamp(12px,1.18vw,17px)!important;
  font-weight:400!important;
  letter-spacing:.1em!important;
  white-space:nowrap!important;
}
@media (min-width:601px) and (max-width:900px){
  .result-screen{min-height:calc(100dvh + 22px)!important;padding-bottom:clamp(68px,8vh,88px)!important}
}

/* Poker-style type mark: code up top, character name owns the plaque below. */
.front-card:before,.share-card-stage:before{
  content:"";
  position:absolute;
  z-index:3;
  left:7%;
  top:4%;
  width:58%;
  height:29%;
  pointer-events:none;
  display:none;
}
.front-card .card-type-mark,.share-card-stage .card-type-mark{
  position:absolute!important;
  z-index:4!important;
  left:14.5%!important;
  top:8.5%!important;
  display:block!important;
  min-width:48%!important;
  padding:6px 10px 5px!important;
  box-sizing:border-box!important;
  color:transparent!important;
  background:none!important;
  -webkit-text-fill-color:transparent!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(29px,3vw,44px)!important;
  font-weight:700!important;
  line-height:.85!important;
  letter-spacing:.06em!important;
  -webkit-text-stroke:.45px rgba(82,43,7,.94)!important;
  paint-order:stroke fill!important;
  text-shadow:0 1px 0 rgba(255,249,207,.96),0 2px 0 rgba(187,112,20,.92),0 3px 3px rgba(0,0,0,.72)!important;
  filter:none!important;
}
.front-card .card-type-mark:after,.share-card-stage .card-type-mark:after{
  content:"✦"!important;
  display:block!important;
  margin-top:7px!important;
  color:#ffe7a0!important;
  font-size:.4em!important;
  text-align:center!important;
}
.front-card .card-type-mark,.share-card-stage .card-type-mark,.front-card figcaption,.share-card-stage figcaption{
  background-image:url("./assets/result-layers/card-gold-foil-texture-v1.png")!important;
  background-size:170px 170px!important;
  background-position:center!important;
  background-repeat:repeat!important;
  background-blend-mode:normal!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  animation:none!important;
}
.front-card figcaption,.share-card-stage figcaption{
  display:block!important;
  color:transparent!important;
  font-family:"Ma Shan Zheng","STKaiti","Kaiti SC",serif!important;
  font-size:clamp(15px,1.38vw,20px)!important;
  font-weight:400!important;
  letter-spacing:.13em!important;
  line-height:1!important;
  text-align:center!important;
  text-shadow:0 1px 0 rgba(255,245,192,.55),0 2px 2px rgba(0,0,0,.84),0 -1px 0 rgba(96,57,16,.9)!important;
}
@media (max-width:900px){
  .front-card figcaption{bottom:7.9%!important;font-size:clamp(17px,2.3vw,23px)!important}
}

/* The foil must live on the glyph-owning nodes, not their parent container.
   Otherwise child color paints over the texture and it reads as ordinary gold. */
.front-card .card-type-mark,.share-card-stage .card-type-mark{
  color:transparent!important;
  background-image:url("./assets/result-layers/card-gold-foil-texture-v1.png")!important;
  background-size:420px 420px!important;
  background-position:48% 46%!important;
  background-repeat:repeat!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:.18px rgba(101,58,10,.74)!important;
  text-shadow:0 1px 0 rgba(255,242,180,.52),0 2px 2px rgba(23,12,2,.72)!important;
}
.front-card figcaption,.share-card-stage figcaption{
  background:none!important;
  -webkit-text-fill-color:initial!important;
  text-shadow:none!important;
}
.front-card figcaption span,.share-card-stage figcaption span{
  color:transparent!important;
  background-image:url("./assets/result-layers/card-gold-foil-texture-v1.png")!important;
  background-size:360px 360px!important;
  background-position:52% 38%!important;
  background-repeat:repeat!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:.16px rgba(100,57,9,.7)!important;
  text-shadow:0 1px 0 rgba(255,242,180,.48),0 2px 2px rgba(22,12,2,.78)!important;
}
.front-card figcaption strong,.share-card-stage figcaption strong{display:none!important}

/* Canvas-rendered foil layers: they are literal transparent art layers above
   the generated card, so the lettering cannot disappear into CSS clipping. */
.front-card.has-foil-art .card-type-mark,.front-card.has-foil-art figcaption,
.share-card-stage.has-foil-art .card-type-mark,.share-card-stage.has-foil-art figcaption{display:none!important}
.foil-type-art,.foil-name-art{position:absolute!important;z-index:6!important;display:block!important;pointer-events:none!important;object-fit:contain!important}
/* Match the previously approved card typography geometry; only the material
   implementation changed from CSS text to artwork layers. */
.foil-type-art{left:14.5%!important;top:8.15%!important;width:50%!important;height:9.8%!important}
.foil-name-art{left:18%!important;bottom:6.7%!important;width:64%!important;height:6.6%!important}
@media(max-width:900px){.foil-name-art{bottom:6.85%!important;height:6.8%!important}}

/* Tablet dossier: a dedicated single-column article, separate from desktop. */
@media (min-width:601px) and (max-width:900px){
  /* The visible leak is .result-overview, which follows the card inside the
     same one-column hero. Give the card stage its own runway, not the outer
     screen, so its following copy starts below the first viewport. */
  .result-screen{min-height:auto!important;padding:14px 0 26px!important;align-items:start!important}
  .result-hero-v3{gap:13px!important}
  /* Pad uses the same first-screen rhythm as phone: a real 2:3 card,
     followed immediately by its identity rather than a large empty runway. */
  .result-card-stage{width:min(100%,340px)!important;aspect-ratio:8 / 9!important;height:auto!important;min-height:0!important;margin-bottom:0!important}
  /* Let the two rear cards reclaim the room created by the smaller front card. */
  .result-card-stage .card-stack-art{left:-14%!important;top:2%!important;width:128%!important;height:98%!important}
  .result-shell{width:min(100% - 44px,820px)!important;padding-bottom:38px!important}
  /* Pad follows the phone's centred identity lockup while retaining the
     roomier tablet scale. */
  .result-overview .result-kicker,.result-overview .result-type,.result-overview .result-role{width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .result-overview .result-kicker{justify-content:center!important;text-align:center!important}
  .result-overview .result-type{font-size:clamp(62px,10vw,78px)!important;line-height:.82!important;text-align:center!important}
  .result-overview .result-role{justify-content:center!important;margin-top:12px!important;margin-bottom:15px!important;text-align:center!important}
  .result-overview .quote{position:relative!important;display:block!important;width:min(82%,420px)!important;margin:0 auto 24px!important;padding:5px 4px 24px!important;border-bottom:0!important;text-align:center!important}
  .result-overview .quote b{display:none!important}
  .result-overview .quote span{display:block!important;max-width:none!important;padding-left:0!important;border-left:0!important;text-align:center!important}
  .result-overview .quote:before{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:-12px!important;border-top:1px solid rgba(237,197,110,.62)!important}
  .result-overview .quote:after{bottom:-20px!important}
  .result-overview .dims,.result-overview .mini-reading,.result-overview .scroll-cue{text-align:left!important}
  .result-overview .dims{margin-top:32px!important}
  .result-details{width:min(100%,700px)!important;min-height:0!important;aspect-ratio:2 / 3!important;margin:28px auto 0!important;background:#071426!important}
  .reading-panel-art{content:url("./assets/result-layers/reading-tablet-dossier-v2.png?tablet=2")!important;object-fit:contain!important;object-position:center top!important;opacity:.84!important}
  .reading-content{padding:clamp(80px,11vw,94px) clamp(52px,8.5vw,70px) clamp(42px,5.5vw,54px)!important}
  .reading-main,.reading-aside,.reading-care{margin:0!important;padding:0!important;border:0!important}
  .reading-aside{margin-top:20px!important;padding-top:0!important;border-top:0!important}
  .reading-care{margin-top:20px!important;padding-top:0!important;border-top:0!important}
  .reading-main h2{margin:7px 0 15px!important;font-size:clamp(26px,4vw,31px)!important}
  .reading-overline,.reading-echo,.reading-note span{font-size:clamp(12px,1.75vw,14px)!important;letter-spacing:.14em!important}
  .reading-main p,.reading-aside p,.reading-note p{font-size:clamp(13px,1.85vw,15px)!important;line-height:1.7!important}
  .reading-note{margin-top:14px!important;padding-top:12px!important}
  .reading-care .result-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .result-details .result-action{min-height:44px!important;font-size:13px!important}
}

/* Phone dossier: use the very same vertical folio as the approved Pad page.
   The story becomes one uninterrupted column, with the Pad hierarchy scaled
   down rather than reverting to the former wide/mobile illustration. */
@media (max-width:600px){
  /* Stretchable folio: fixed original-art head and tail, with a quiet
     extendable midnight field in between. Content length can now grow freely. */
  .result-details{position:relative!important;isolation:isolate!important;width:min(calc(100% - 22px),540px)!important;min-height:0!important;aspect-ratio:auto!important;margin-top:24px!important;overflow:hidden!important;border:1px solid rgba(235,195,103,.72)!important;background:linear-gradient(90deg,transparent 0,transparent 2px,rgba(244,204,105,.72) 2px,rgba(244,204,105,.72) 3px,transparent 3px,transparent 6px,rgba(244,204,105,.42) 6px,rgba(244,204,105,.42) 7px,transparent 7px,transparent calc(100% - 7px),rgba(244,204,105,.42) calc(100% - 7px),rgba(244,204,105,.42) calc(100% - 6px),transparent calc(100% - 6px),transparent calc(100% - 3px),rgba(244,204,105,.72) calc(100% - 3px),rgba(244,204,105,.72) calc(100% - 2px),transparent calc(100% - 2px)),repeating-linear-gradient(135deg,#061426 0,#061426 14px,#07192d 15px,#07192d 16px)!important;box-shadow:0 16px 36px rgba(0,0,0,.32),inset 0 0 54px rgba(0,0,0,.32)!important}
  .reading-panel-art{display:none!important}
  .result-details:before,.result-details:after{content:""!important;display:block!important;position:absolute!important;z-index:0!important;left:0!important;right:0!important;pointer-events:none!important;background-image:url("./assets/result-layers/reading-tablet-dossier-v2.png")!important;background-size:100% auto!important;background-repeat:no-repeat!important;opacity:1!important}
  .result-details:before{top:0!important;height:190px!important;background-position:center top!important;-webkit-mask-image:linear-gradient(to bottom,#000 0 62%,transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 0 62%,transparent 100%)!important}
  .result-details:after{bottom:0!important;height:205px!important;background-position:center bottom!important;-webkit-mask-image:linear-gradient(to top,#000 0 62%,transparent 100%)!important;mask-image:linear-gradient(to top,#000 0 62%,transparent 100%)!important}
  .reading-content{position:relative!important;z-index:1!important;display:block!important;height:auto!important;padding:clamp(130px,31vw,150px) clamp(25px,7vw,34px) clamp(154px,35vw,174px)!important}
  .reading-main,.reading-aside,.reading-care{display:block!important;margin:0!important;padding:0!important;border:0!important}
  .reading-aside,.reading-care{margin-top:22px!important;padding-top:19px!important;border-top:1px solid rgba(230,190,107,.48)!important}
  .reading-aside>p{margin-top:10px!important;padding-top:0!important;border-top:0!important}
  .reading-main h2{margin:6px 0 13px!important;font-size:clamp(23px,6.4vw,27px)!important;line-height:1.25!important;letter-spacing:.055em!important}
  .reading-overline,.reading-echo,.reading-note span,.reading-care h3{font-size:clamp(10px,2.85vw,12px)!important;letter-spacing:.14em!important;line-height:1.3!important}
  .reading-main p,.reading-aside p,.reading-note p,.reading-care p{font-size:clamp(12px,3.25vw,13.5px)!important;line-height:1.78!important;letter-spacing:.025em!important}
  .reading-note{margin-top:15px!important;padding-top:13px!important;border-top:1px solid rgba(230,190,107,.48)!important}
  .reading-note span{margin-bottom:7px!important}
  .reading-care .result-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:24px 0 0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .result-details .result-action{min-height:48px!important;font-size:12px!important;letter-spacing:.13em!important}
}

/* Phone first screen: show the card, type, name and opening reading together.
   The deeper dimension cards remain just below the fold. */
@media (max-width:600px){
  .result-shell{padding-top:8px!important}
  .result-screen{min-height:auto!important;padding:16px 0 28px!important;align-items:start!important}
  .result-hero-v3{gap:16px!important}
  /* The card stays a true 2:3 card: scale the whole stage down a touch,
     never compress its height independently. */
  .result-card-stage{width:min(94%,350px)!important;aspect-ratio:8 / 9!important;height:auto!important;min-height:0!important;margin-bottom:0!important}
  /* A calmer reading column on phones: the copy should not press against
     the viewport while the portrait remains visually centred above it. */
  .result-overview{width:min(calc(100% - 58px),440px)!important;margin-left:auto!important;margin-right:auto!important;padding:0!important}
  .result-overview .result-kicker{justify-content:center!important;margin-top:4px!important;margin-bottom:11px!important;text-align:center!important}
  .result-overview .result-type{width:100%!important;font-size:clamp(60px,16vw,74px)!important;line-height:.82!important;text-align:center!important}
  .result-overview .result-role{justify-content:center!important;margin:12px 0 14px!important;text-align:center!important}
  .result-overview .quote{display:block!important;margin-bottom:20px!important;padding:5px 4px 20px!important;border-bottom:0!important;text-align:center!important}
  .result-overview .quote b{display:none!important}
  .result-overview .quote span{display:block!important;max-width:none!important;padding-left:0!important;border-left:0!important;text-align:center!important}
  /* Keep the score divider below the opening copy without altering the
     copy's breathing room or the score grid position. */
  .result-overview .quote:before{content:""!important;position:absolute!important;left:4px!important;right:4px!important;bottom:-12px!important;border-top:1px solid rgba(237,197,110,.62)!important}
  .result-overview .quote:after{bottom:-20px!important}
  /* Scores are intentionally below the opening portrait + identity + quote. */
  .result-overview .dims{margin-top:32px!important}
  .reading-care{border-top:0!important;padding-top:0!important}
}

/* Attribute tile art is a 3:1 original. Never stretch it to fit a random
   grid cell: the astrolabe circles must remain circles at every breakpoint. */
.result-overview .dim{aspect-ratio:3 / 1!important;min-height:0!important}
.result-overview .tile-art{object-fit:contain!important;background:#071426!important}
@media (max-width:600px){
  .result-overview .dims{grid-template-columns:1fr!important;gap:10px!important}
  .result-overview .dim{width:100%!important}
  .reading-care .result-actions{gap:18px!important}
}

/* Narrow dossiers keep the desktop action language without returning to absolute layout. */
@media (max-width:900px){
  .result-details .result-action{
    position:relative!important;
    min-height:48px!important;
    padding:0 38px!important;
    border:1px solid rgba(248,211,130,.78)!important;
    border-radius:2px!important;
    background:#0a1d37!important;
    color:#f8dfa0!important;
    font-family:"Songti SC","Noto Serif SC",serif!important;
    font-size:clamp(11px,2.8vw,13px)!important;
    font-weight:600!important;
    letter-spacing:.14em!important;
    box-shadow:inset 0 0 0 3px #0a1d37,inset 0 0 0 4px rgba(247,211,132,.22),0 6px 14px rgba(0,0,0,.28)!important;
    transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
  }
  .result-details .result-action:before,.result-details .result-action:after{
    content:"✦"!important;
    position:absolute!important;
    top:50%!important;
    translate:0 -50%!important;
    color:#edc66e!important;
    font-size:12px!important;
    line-height:1!important;
    text-shadow:0 0 10px rgba(255,221,137,.72)!important;
  }
  .result-details .result-action:before{left:14px!important}
  .result-details .result-action:after{right:14px!important}
  .result-details .result-action-secondary{background:#0d2749!important}
  .result-details .result-action:hover{
    transform:translateY(-2px)!important;
    border-color:#ffe4a1!important;
    background:#173c69!important;
    color:#fff1bd!important;
    box-shadow:inset 0 0 0 3px #173c69,inset 0 0 0 4px rgba(255,229,161,.7),0 10px 22px rgba(0,0,0,.38),0 0 18px rgba(235,190,100,.2)!important;
  }
}

/* Share card: the card layers and portrait stay faithful to the dossier artwork. */
.share-sheet{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:24px;background:rgba(2,7,16,.82);backdrop-filter:blur(10px);animation:share-sheet-in .24s ease-out}.share-poster{position:relative;width:min(88vw,460px);aspect-ratio:9/16;overflow:hidden;background:#071224;color:#f6df9e;box-shadow:0 26px 72px rgba(0,0,0,.65)}.share-poster-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}.share-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,18,.1),rgba(3,8,18,.14) 45%,rgba(3,8,18,.86));pointer-events:none}.share-brand,.share-copy,.share-card-stage,.share-qr{position:absolute;z-index:1}.share-brand{top:6.3%;left:8%;margin:0;color:#f4d990;font-size:clamp(10px,2.3vw,13px);font-weight:700;letter-spacing:.18em}.share-copy{left:8%;right:8%;top:11.5%;text-align:center}.share-copy small{display:block;color:#cba564;font-size:clamp(9px,2vw,12px);letter-spacing:.2em}.share-copy h2{margin:8px 0 2px;font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(36px,9vw,51px);line-height:.9;letter-spacing:.08em}.share-copy p{margin:7px 0 0;color:#d9e1ed;font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(13px,3vw,16px);letter-spacing:.16em}.share-card-stage{top:25%;left:12%;width:76%;height:47%}.share-card-base,.share-card-overlay,.share-card-portrait{position:absolute;width:100%;height:100%}.share-card-base,.share-card-overlay{object-fit:fill}.share-card-portrait{left:8%;top:8%;width:84%;height:75%;object-fit:cover;clip-path:inset(0 round 7% 7% 4% 4%)}.share-card-overlay{pointer-events:none}.share-card-stage figcaption{position:absolute;z-index:2;bottom:8%;left:18%;right:18%;margin:0;overflow:hidden;color:#f8dc98;font-family:"Ma Shan Zheng","STKaiti","Kaiti SC",serif;font-size:clamp(14px,3vw,18px);letter-spacing:.14em;text-align:center;white-space:nowrap;text-overflow:ellipsis}.share-qr{right:8%;bottom:7%;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;background:rgba(244,230,190,.94);box-shadow:0 4px 18px rgba(0,0,0,.36);color:#192134}.share-qr img{display:block;width:62px;height:62px;image-rendering:pixelated}.share-qr span{font-family:"Songti SC","Noto Serif SC",serif;font-size:11px;line-height:1.55;letter-spacing:.08em}.share-close{position:absolute;z-index:2;top:14px;right:15px;border:0;background:transparent;color:#fff0c0;font-size:28px;line-height:1}.share-tip{position:absolute;z-index:2;left:8%;bottom:8%;margin:0;color:#d3dfed;font-size:10px;letter-spacing:.08em}@keyframes share-sheet-in{from{opacity:0}.share-poster{transform:translateY(14px) scale(.985)}to{opacity:1}.share-poster{transform:none}}@media(max-width:600px){.share-sheet{padding:10px}.share-poster{width:min(94vw,420px)}.share-qr{right:6%;bottom:6%;padding:6px}.share-qr img{width:54px;height:54px}.share-qr span{font-size:9px}.share-tip{left:6%;bottom:7%;max-width:40%;line-height:1.5}.share-brand{left:6%}}

/* Live share card: a fixed layout populated with this visitor's actual cat,
   reading, four scores and a scannable home-page QR code. */
.share-sheet{overflow:auto;padding:28px 18px}.share-panel{display:grid;gap:13px;justify-items:center}.share-poster{width:min(88vw,440px);aspect-ratio:9 / 16;background:#061224;isolation:isolate}.share-poster-bg{filter:blur(5px) saturate(.76);scale:1.06;opacity:.46}.share-poster:after{background:linear-gradient(180deg,rgba(3,11,25,.2),rgba(3,11,25,.62) 49%,rgba(3,11,25,.92))}.share-brand{top:3.7%;left:7%;font-family:"Songti SC","Noto Serif SC",serif;font-size:11px;letter-spacing:.16em}.share-copy{top:6.1%;left:10%;right:10%;text-align:center}.share-copy small{font-size:10px;letter-spacing:.16em}.share-copy h2{margin:5px 0 0;font-size:clamp(29px,7vw,39px);line-height:.88}.share-copy p{display:none}.share-card-stage{top:11%;left:24%;width:52%;height:auto;aspect-ratio:2 / 3}.share-card-base,.share-card-overlay,.share-card-portrait{height:100%}.share-card-stage figcaption{bottom:7.2%;font-size:17px}.share-reading,.share-meters{position:absolute;z-index:2}.share-reading{top:65%;left:10%;right:10%;text-align:center}.share-reading span{display:block;color:#eccc7d;font-family:"Songti SC","Noto Serif SC",serif;font-size:12px;letter-spacing:.16em}.share-reading p{margin:8px auto 0;max-width:29em;color:#e8edf4;font-family:"Songti SC","Noto Serif SC",serif;font-size:12px;line-height:1.75;letter-spacing:.035em}.share-meters{top:76%;left:9%;width:49%;display:grid;gap:10px}.share-meter span{display:block;margin-bottom:4px;color:#e7c976;font-family:"Songti SC","Noto Serif SC",serif;font-size:10px;letter-spacing:.1em}.share-meter i{display:block;height:5px;overflow:hidden;border:1px solid rgba(235,196,110,.62);border-radius:999px;background:rgba(4,15,31,.55)}.share-meter b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a97731,#f5d989);box-shadow:0 0 10px rgba(242,202,112,.34)}.share-qr{right:9%;bottom:7%;display:block;padding:6px;background:#f7edcf;box-shadow:0 6px 20px rgba(0,0,0,.33)}.share-qr canvas{display:block;width:70px;height:70px;image-rendering:pixelated}.share-qr span{display:block;margin-top:5px;color:#152039;font-family:"Songti SC","Noto Serif SC",serif;font-size:8px;line-height:1.45;text-align:center;letter-spacing:.06em}.share-close{top:10px;right:12px;font-size:24px}.share-controls{display:flex;gap:10px}.share-controls button{min-width:134px;padding:10px 17px;border:1px solid rgba(247,213,136,.72);background:#0a1d37;color:#f8dfa0;font-family:"Songti SC","Noto Serif SC",serif;font-size:13px;letter-spacing:.12em;box-shadow:inset 0 0 0 2px #0a1d37,inset 0 0 0 3px rgba(247,213,136,.22),0 5px 16px rgba(0,0,0,.28);transition:.18s}.share-controls button:hover{translate:0 -2px;border-color:#ffe2a1;background:#16345d;box-shadow:inset 0 0 0 2px #16345d,inset 0 0 0 3px rgba(255,229,161,.65),0 9px 22px rgba(0,0,0,.34)}
@media(max-width:600px){.share-sheet{padding:18px 10px}.share-poster{width:min(94vw,410px)}.share-reading{top:64%;left:8%;right:8%}.share-reading p{font-size:11px}.share-meters{top:76%;left:8%;width:51%;gap:8px}.share-meter span{font-size:9px}.share-qr{right:7%;bottom:6%}.share-qr canvas{width:62px;height:62px}.share-qr span{font-size:7px}.share-controls button{min-width:120px;font-size:12px}}

/* The displayed share result is the final raster itself, not a responsive
   reconstruction. This makes preview, screenshot and downloaded PNG match. */
.share-image-sheet{align-items:center}.share-image-sheet .share-panel{width:min(90vw,440px)}.share-image-preview{display:block;width:100%;height:auto;aspect-ratio:9 / 16;object-fit:contain;background:#061224;box-shadow:0 26px 72px rgba(0,0,0,.65)}.share-image-sheet .share-loading{margin:0;padding:48px 34px;color:#f5dda0;font-family:"Songti SC","Noto Serif SC",serif;font-size:14px;letter-spacing:.1em;background:#071426;box-shadow:0 20px 56px rgba(0,0,0,.48)}.share-controls a{display:grid;place-items:center;min-width:134px;padding:10px 17px;border:1px solid rgba(247,213,136,.72);background:#0a1d37;color:#f8dfa0;font-family:"Songti SC","Noto Serif SC",serif;font-size:13px;letter-spacing:.12em;text-decoration:none;box-shadow:inset 0 0 0 2px #0a1d37,inset 0 0 0 3px rgba(247,213,136,.22),0 5px 16px rgba(0,0,0,.28);transition:.18s}.share-controls a:hover{translate:0 -2px;border-color:#ffe2a1;background:#16345d;box-shadow:inset 0 0 0 2px #16345d,inset 0 0 0 3px rgba(255,229,161,.65),0 9px 22px rgba(0,0,0,.34)}

/* Mobile home is its own composition, not a cropped desktop door.  The new
   portrait illustration keeps the cat whole and leaves a quiet lower field
   for the approved lettering layers. */
@media (max-width:760px){
  .home-door-page .home-bg{content:url("./assets/home/home-mobile-observatory-v1.png")!important;object-position:center top!important;animation:none!important}
  .home-door-page .home-vignette{background:linear-gradient(180deg,rgba(2,8,19,.03) 0%,rgba(2,8,19,.05) 42%,rgba(2,8,19,.30) 60%,rgba(2,8,19,.65) 100%)!important}
  .home-door-page .home-door{display:none!important}
  .home-door-page .home-brand{top:2.6dvh!important;left:6.2vw!important;font-size:9px!important}
  .home-door-page .art-label{left:29vw!important;top:51.8dvh!important;width:42vw!important}
  .home-door-page .art-headline{left:8vw!important;top:57.3dvh!important;width:84vw!important}
  .home-door-page .art-lead{left:24vw!important;top:75.6dvh!important;width:52vw!important}
  .home-door-page .art-button{left:19vw!important;top:83.1dvh!important;width:62vw!important}
  .home-door-page .home-disclaimer{left:8vw!important;right:8vw!important;bottom:1.5dvh!important;font-size:8px!important}
}

/* WeChat cannot authorize an ordinary H5 page to write directly to Photos.
   Avoid its broken 0 B download view and present the browser-native long-press
   save affordance; other browsers retain the regular download control. */
.wechat-save-tip{margin:0;color:#f2d894;font-family:"Songti SC","Noto Serif SC",serif;font-size:12px;letter-spacing:.05em;text-align:center}

/* 三个选项不预设倾向；触屏设备不继承点击后的 hover 状态。 */
.answer.neutral{
  border-color:rgba(221,233,247,.25)!important;
  background:rgba(255,255,255,.035)!important;
}
@media (hover:hover) and (pointer:fine){
  .answer:hover{
    transform:translateX(3px);
    border-color:var(--pale);
    background:rgba(214,169,88,.13);
  }
}
@media (hover:none), (pointer:coarse){
  .answer:hover{
    transform:none!important;
    border-color:rgba(221,233,247,.25)!important;
    background:rgba(255,255,255,.035)!important;
  }
}

/* 点选后的确认，以及回看上一题时的已选状态。 */
.answer.selected,
.answer.selected:hover{
  transform:translateX(3px)!important;
  border-color:var(--pale)!important;
  background:rgba(214,169,88,.16)!important;
  box-shadow:0 0 0 1px rgba(255,226,159,.16),0 8px 20px rgba(0,0,0,.14);
}
.answer.selected i{color:#fff0bd!important}
.answer.is-confirming{animation:answer-confirm .42s ease both}
@keyframes answer-confirm{0%{transform:translateX(0) scale(1)}48%{transform:translateX(3px) scale(1.015)}100%{transform:translateX(3px) scale(1)}}
