:root{--wine:#350e19;--wine-light:#521b2a;--wine-mid:#411321;--wine-dark:#240a12;--gold:#b79b62;--gold-bright:#d0b781;--gold-dim:#765938;--cream:#f0e3cc;--muted:#b69b8b;--line:rgba(183,155,98,.29);--serif:"Noto Serif CJK SC","Songti SC","STSong","SimSun",Georgia,serif;--sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--wine);color:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;min-width:320px;background-image:radial-gradient(ellipse at 50% 15%,#61233845,transparent 65%),repeating-linear-gradient(0deg,#ffffff01 0,#ffffff01 1px,transparent 1px,transparent 4px)}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold-bright);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1:focus,h2:focus,main:focus{outline:none}button:disabled{cursor:wait}svg{display:block}a{color:inherit}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--wine)}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--cream);color:var(--wine);padding:10px 18px}.skip-link:focus{top:10px}.site-header{max-width:1220px;margin:auto;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;padding:0;text-align:left}.brand svg{width:34px;height:42px;fill:none;stroke:var(--gold);stroke-width:1.2}.brand>span{font-family:var(--serif);font-size:21px;letter-spacing:3px;line-height:1.35}.brand small{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:2.2px;color:var(--gold);margin-top:6px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px;color:#d1b6a0}.site-header nav button{padding:7px 0}.site-header nav span{margin-left:8px;color:var(--gold)}.site-header nav button:hover{color:var(--cream)}main{min-height:55vh;perspective:1500px}.home-view{max-width:1120px;margin:auto;padding:44px 30px 0}.page-surface{position:relative;background:radial-gradient(ellipse at 50% 0,#66263755,transparent 65%),linear-gradient(90deg,#290b150d,#6b293c10 3%,#46152230 50%,#28091140);border:1px solid var(--gold-dim);box-shadow:0 18px 70px #18030b30,inset 0 0 0 6px var(--wine),inset 0 0 0 7px var(--line);backface-visibility:hidden;isolation:isolate}.page-surface::before{content:"";position:absolute;inset:13px;border:1px solid #b79b6214;pointer-events:none;z-index:-1}.corner{position:absolute;width:27px;height:27px;border:1px solid var(--gold);pointer-events:none}.corner::after{content:"";position:absolute;inset:6px;border:1px solid #b79b6266}.corner.tl{top:5px;left:5px;border-right:0;border-bottom:0}.corner.tr{top:5px;right:5px;border-left:0;border-bottom:0}.corner.bl{bottom:5px;left:5px;border-right:0;border-top:0}.corner.br{bottom:5px;right:5px;border-left:0;border-top:0}.corner.tl::after{border-right:0;border-bottom:0}.corner.tr::after{border-left:0;border-bottom:0}.corner.bl::after{border-right:0;border-top:0}.corner.br::after{border-left:0;border-top:0}.menu-cover{text-align:center;padding:32px 40px 29px;overflow:hidden}.cover-topline,.cover-bottomline{display:flex;align-items:center;justify-content:center;gap:28px;font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:3px}.cover-topline{margin-bottom:26px}.cover-star{font-size:16px;opacity:.7}.cover-emblem{margin:0 auto 18px;width:108px}.cover-emblem svg{fill:none;stroke:var(--gold);stroke-width:1.1}.eyebrow{font-family:Georgia,"Times New Roman",serif;letter-spacing:3.3px;color:var(--gold);font-size:10px;line-height:1.5}.menu-cover h1{font-size:48px;letter-spacing:6px;line-height:1.55;margin:19px 0 16px;font-weight:400}.menu-cover h1 span{color:var(--gold-bright);margin-left:8px}.ornament{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--gold);margin:20px auto}.ornament i{height:1px;width:68px;background:linear-gradient(90deg,transparent,var(--gold-dim))}.ornament i:last-child{transform:rotate(180deg)}.ornament span{font-size:13px;line-height:1}.cover-description{font-family:var(--serif);font-size:16px;line-height:2.1;letter-spacing:1.5px;color:#d0bba5;margin:25px 0 28px}.button{min-height:49px;padding:13px 30px;font-size:14px;letter-spacing:1.2px;display:inline-flex;align-items:center;justify-content:center;gap:20px;transition:background .18s,transform .18s;border:1px solid var(--gold-dim)}.button.primary{background:#b49960;color:#2d0d17;border-color:#c6ad78;box-shadow:inset 0 0 0 3px #b49960,inset 0 0 0 4px #350e1944}.button.primary:hover{background:#c4aa73;transform:translateY(-1px)}.button.secondary{color:var(--gold-bright);background:transparent}.button.secondary:hover{background:#b79b6211}.cover-cta{min-width:265px}.cover-footnote{font-size:11px;letter-spacing:1px;color:var(--muted);margin-top:15px}.cover-bottomline{border-top:1px solid var(--line);margin:35px auto 0;padding-top:20px;gap:20px;font-size:11px;max-width:550px;letter-spacing:1.2px}.cover-bottomline b{font-weight:400;font-size:8px;opacity:.6}.topic-section{padding-top:78px;text-align:center;scroll-margin-top:30px}.topic-section h2,.revealed-menu h2{font-size:29px;letter-spacing:2px;margin:13px 0 12px}.section-description{color:var(--muted);font-size:13px;letter-spacing:.3px}.topic-menu{margin:34px 0 20px;display:grid;grid-template-columns:1fr 1fr;column-gap:56px;padding:0 20px}.topic{display:flex;align-items:center;gap:14px;text-align:left;border-bottom:1px solid var(--line);padding:23px 0;min-height:86px;transition:color .2s,background .2s}.topic-flower{color:var(--gold);font-family:Georgia;font-size:21px;transition:transform .3s}.topic-word{font-family:var(--serif);font-size:22px;letter-spacing:2px;white-space:nowrap}.topic-dots{border-top:1px dotted #98774466;flex:1;min-width:10px;margin-top:5px}.topic small{font-family:var(--serif);font-size:12px;letter-spacing:.5px;color:var(--muted);max-width:156px;text-align:right}.topic-arrow{color:var(--gold);font-size:17px}.topic:hover{color:var(--gold-bright)}.topic:hover .topic-flower{transform:rotate(90deg)}.text-button{font-size:13px;color:var(--gold-bright);padding:8px 0}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.random-button{margin-top:21px;letter-spacing:1px}.random-button span{margin-left:14px}.resume-row{margin:27px auto 0;padding:12px 23px;max-width:620px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);background:#a07d4710;font-size:12px;color:var(--muted)}.site-footer{position:relative;margin-top:55px;padding:122px 32px 28px;overflow:hidden;min-height:218px}.footer-roses{position:absolute;bottom:0;left:0;width:100%;height:230px;object-fit:fill;object-position:center bottom;pointer-events:none}.footer-copy{position:relative;display:flex;align-items:center;flex-direction:column;gap:6px;color:var(--gold);font-size:12px;letter-spacing:1px}.footer-copy button{font-size:10px;color:var(--muted);padding:4px 8px}.has-dock{padding-bottom:120px}.has-dock .site-footer{margin-top:0;padding-top:85px;min-height:160px}.journey-wrap,.result-wrap{max-width:970px;margin:auto;padding:27px 30px 0}.journey-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;color:var(--muted);font-size:12px}.back-button{font-size:12px;padding:8px 0;color:var(--muted)}.back-button:hover{color:var(--cream)}.back-button span{font-size:16px;margin-right:7px}.journey-label{font-family:var(--serif);letter-spacing:2px;color:var(--gold);font-size:12px}.journey-nav>.text-button{font-size:12px;color:var(--muted)}.question-page{padding:30px 74px 28px;text-align:center;min-height:480px;transform-origin:left center}.page-topmark{color:var(--gold);font-size:19px;margin-bottom:14px}.question-title{font-size:29px;line-height:1.7;letter-spacing:1.8px;margin:19px auto 13px;max-width:720px;text-wrap:balance}.question-intro{font-size:12px;color:var(--muted);letter-spacing:.8px;margin-bottom:28px}.options{max-width:650px;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:12px}.option{padding:17px 22px;display:flex;align-items:center;gap:17px;width:100%;min-height:61px;border:1px solid #98774455;background:linear-gradient(90deg,#b79b6209,transparent);font-size:15px;line-height:1.7;text-align:left;transition:background .18s,border-color .18s,transform .18s}.option>span:nth-child(2){flex:1}.option-flower{color:var(--gold);font-size:17px;font-family:Georgia;line-height:1}.option-arrow{font-size:18px;color:var(--gold-dim);font-family:Georgia}.option:hover{background:#b79b6212;border-color:var(--gold);transform:translateX(3px)}.option:hover .option-arrow{color:var(--gold-bright)}.help-option{border-style:dashed;color:var(--muted);font-size:13px}.help-option .option-arrow{width:21px;height:21px;line-height:19px;border:1px solid var(--gold-dim);border-radius:50%;text-align:center;font-size:13px}.question-page>.ornament{margin-top:27px;margin-bottom:16px}.page-footnote{font-family:var(--serif);font-size:11px;color:var(--muted);letter-spacing:1px}.card-dock{position:fixed;bottom:0;left:0;width:100%;height:112px;z-index:20;border-top:1px solid #9e7d4655;background:linear-gradient(90deg,#270a14f8,#3b1020fa 50%,#270a14f8);box-shadow:0 -15px 45px #17040a30;display:flex;justify-content:center;align-items:center;gap:45px;padding:10px 25px 10px;backdrop-filter:blur(16px)}.dock-caption{display:flex;flex-direction:column;gap:3px}.dock-caption .eyebrow{font-size:8px;letter-spacing:2px}.dock-caption strong{font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:2px}.dock-caption small{color:var(--muted);font-size:10px}.dock-cards{display:flex;align-items:center;gap:12px;min-width:210px;justify-content:flex-start}.card-back{width:180px;height:256px;padding:8px;background:linear-gradient(135deg,#5d2034,#3b1020);border:1px solid #b29660;box-shadow:0 15px 45px #0c010750,inset 0 0 0 3px #4a1728;position:relative}.card-back-inner{height:100%;border:1px solid #b2966077;display:flex;align-items:center;justify-content:space-around;flex-direction:column;padding:17px 0;position:relative;overflow:hidden}.card-back-inner:before,.card-back-inner:after{content:"";position:absolute;width:130px;height:130px;border:1px solid #b2966029;transform:rotate(45deg);pointer-events:none}.card-back-inner:before{top:-95px}.card-back-inner:after{bottom:-95px}.question-mark{font-family:Georgia,serif;font-size:76px;font-weight:400;line-height:1;color:var(--gold-bright);text-shadow:0 2px 10px #ba995924}.card-flourish{font-size:21px;line-height:1;color:var(--gold);font-family:Georgia}.mini-card{width:51px;height:73px;padding:4px;box-shadow:0 4px 15px #19030a40;transform:rotate(-4deg)}.mini-card:nth-child(2){transform:rotate(3deg)}.mini-card:nth-child(3){transform:rotate(-2deg)}.mini-card .card-back-inner{padding:3px 0}.mini-card .question-mark{font-size:27px}.mini-card .card-flourish{font-size:8px}.mini-card .card-back-inner:before,.mini-card .card-back-inner:after{display:none}.empty-card{width:51px;height:73px;border:1px dashed #b296604d;display:grid;place-items:center;font-size:22px;color:var(--gold-dim)}.dock-empty-text{color:var(--muted);font-size:11px}.card-stage{position:fixed;inset:0;z-index:60;pointer-events:all;background:#14040b85;backdrop-filter:blur(4px)}.flying-card{position:fixed;left:50%;top:50%;width:180px;height:256px;transform:translate(-50%,-50%);z-index:2;perspective:800px}.card-stage-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,#d9aa4b20,transparent 55%);transition:opacity .4s}.card-announcement{position:absolute;top:calc(50% - 185px);width:100%;text-align:center;font-family:var(--serif);color:var(--cream);font-size:17px;letter-spacing:3px;transition:opacity .2s}.result-letter{padding:44px 72px 40px;text-align:center}.result-letter>.ornament{margin:22px auto 19px}.result-title{font-size:38px;line-height:1.6;letter-spacing:3px;text-wrap:balance}.result-body{margin:24px auto 0;max-width:670px;line-height:2.2;font-family:var(--serif);font-size:17px;color:#dac6ad;letter-spacing:.6px;white-space:pre-line}.result-signature{margin:30px 0 0;color:var(--muted);font-size:11px;letter-spacing:1px}.result-signature span{display:block;color:var(--gold);font-family:var(--serif);font-size:15px;margin-top:8px;letter-spacing:2px}.revealed-menu{text-align:center;padding:50px 0 20px}.result-cards{display:flex;justify-content:center;gap:24px;margin:33px auto 30px;max-width:800px}.reveal-card{width:220px;height:300px;perspective:1000px;flex:0 1 220px}.reveal-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:reveal 1s var(--delay) cubic-bezier(.2,.7,.2,1) both}.reveal-back,.reveal-front{position:absolute;inset:0;backface-visibility:hidden}.reveal-back .card-back{width:100%;height:100%}.reveal-front{transform:rotateY(180deg);background:linear-gradient(130deg,#ecdfc7,#e1cfaa);color:var(--wine);border:1px solid #c6a971;padding:21px 15px;box-shadow:inset 0 0 0 5px #eadbc0,inset 0 0 0 6px #94734499,0 15px 45px #17040b30;display:flex;align-items:center;flex-direction:column}.dish-category{font-family:var(--serif);font-size:13px;letter-spacing:4px;color:#795b36;margin-top:3px}.dish-icon{width:59px;height:59px;margin:23px 0 18px;color:#6b452e}.dish-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.2;fill:none}.reveal-front h3{font-size:20px;line-height:1.65;letter-spacing:1px;margin:auto 0;max-width:170px}.dish-ornament{color:#a1844e;font-size:12px;margin-top:16px;line-height:1}.result-actions{display:flex;justify-content:center;gap:15px}.result-note{font-size:11px;line-height:2;color:var(--muted);margin-top:20px;max-width:640px;margin-inline:auto}.path-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px auto 0;max-width:760px;font-size:13px}.path-details summary{list-style:none;display:flex;justify-content:space-between;color:var(--gold-bright);padding:20px 5px;cursor:pointer}.path-details summary::-webkit-details-marker{display:none}.path-details[open] summary span{transform:rotate(45deg)}.path-details>div{padding:0 5px 10px}.path-details p{padding:13px 0 16px;border-top:1px solid #b79b621a}.path-details strong{display:block;font-weight:400;color:#d7bfa6;font-family:var(--serif);font-size:15px}.path-details p span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.result-again{display:block;margin:26px auto 0;letter-spacing:.7px}.result-again span{margin-left:10px}dialog{max-width:550px;width:calc(100% - 36px);background:#401321;color:var(--cream);border:1px solid var(--gold-dim);padding:28px 34px;box-shadow:inset 0 0 0 5px #401321,inset 0 0 0 6px #b79b622f,0 30px 100px #08000588}dialog::backdrop{background:#12030bbd;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.icon-button{font-size:27px;line-height:1;width:32px;height:32px;color:var(--gold)}dialog h2{font-size:26px;margin-bottom:20px;letter-spacing:1px}#dialog-body p{font-size:14px;line-height:1.95;color:#d4bda7;margin-top:14px}#dialog-body .dialog-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.dialog-action{margin-top:27px;width:100%;min-height:44px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);opacity:0;pointer-events:none;z-index:100;background:var(--cream);color:var(--wine);padding:12px 22px;font-size:12px;box-shadow:0 8px 25px #19030850;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);width:max-content;border:1px solid var(--gold)}.toast.visible{opacity:1;transform:translate(-50%,0)}.has-dock .toast{bottom:130px}.text-copy{width:100%;height:260px;background:#280b16;color:var(--cream);border:1px solid var(--gold-dim);padding:12px;font:13px/1.8 var(--sans);margin-top:16px;resize:vertical}.noscript{position:fixed;inset:25% 15%;background:var(--wine);border:1px solid var(--gold);padding:40px;z-index:80}
@keyframes reveal{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}
@media(min-width:1500px){.home-view{padding-top:58px}.menu-cover{padding-top:42px;padding-bottom:35px}.menu-cover h1{font-size:54px}.cover-description{margin-top:30px;margin-bottom:35px}}
@media(max-width:900px){.topic-menu{column-gap:35px;padding:0}.topic{gap:10px}.topic small{max-width:110px;font-size:11px}.question-page{padding:29px 42px 25px}.result-letter{padding:39px 42px 34px}.result-cards{gap:18px}.reveal-card{height:286px}.reveal-front h3{font-size:18px}}
@media(max-width:650px){.site-header{padding:19px 21px;gap:10px}.brand{gap:8px}.brand svg{width:26px;height:34px}.brand>span{font-size:17px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1.7px;margin-top:5px}.site-header nav{gap:17px;font-size:11px}.site-header nav button{white-space:nowrap}.site-header nav span{display:none}.home-view{padding:24px 16px 0}.menu-cover{padding:27px 21px 23px}.cover-topline{gap:18px;font-size:10px;letter-spacing:2px;margin-bottom:26px}.cover-emblem{width:85px;margin-bottom:18px}.eyebrow{font-size:9px;letter-spacing:2.5px}.menu-cover h1{font-size:32px;letter-spacing:3px;line-height:1.7;margin:22px 0 14px;max-width:260px;margin-inline:auto}.menu-cover h1 span{display:block;margin-left:0;font-size:49px;letter-spacing:10px;line-height:1.3;margin-top:4px;padding-left:10px}.cover-description{font-size:13px;letter-spacing:1px;margin:23px 0 25px;line-height:2.15}.cover-cta{min-width:236px;font-size:12px;padding:13px 18px}.cover-footnote{font-size:10px;margin-top:14px}.cover-bottomline{gap:10px;margin-top:28px;padding-top:18px;font-size:9px;letter-spacing:.4px}.topic-section{padding:56px 9px 0}.topic-section h2,.revealed-menu h2{font-size:24px;line-height:1.6;letter-spacing:1px;margin-top:13px}.section-description{font-size:11px;line-height:1.9;max-width:290px;margin-inline:auto}.topic-menu{grid-template-columns:1fr;margin-top:23px}.topic{min-height:80px;padding:20px 6px;gap:17px}.topic-word{font-size:23px}.topic small{max-width:180px;font-size:12px}.topic-dots{margin-inline:4px}.topic-flower{font-size:20px}.random-button{font-size:12px;margin-top:14px}.resume-row{padding:12px 14px;flex-direction:column;gap:0;margin-top:23px}.resume-row .text-button{font-size:12px}.site-footer{margin-top:30px;padding:117px 16px 25px;min-height:206px}.footer-roses{width:calc(100% + 440px);max-width:none;left:-220px;height:190px;object-fit:fill}.footer-copy{font-size:11px;gap:8px}.footer-copy button{font-size:9px}.journey-wrap,.result-wrap{padding:19px 16px 0}.journey-nav{gap:8px;margin-bottom:16px;font-size:11px}.journey-label{font-size:10px;letter-spacing:1px}.journey-nav .text-button,.back-button{font-size:10px}.back-button span{margin-right:4px;font-size:14px}.question-page{padding:27px 23px 23px;min-height:440px}.page-topmark{font-size:17px;margin-bottom:14px}.question-title{font-size:24px;line-height:1.65;letter-spacing:1px;margin:18px 0 13px;text-wrap:pretty}.question-intro{font-size:10px;letter-spacing:.3px;margin-bottom:25px}.options{gap:11px}.option{padding:15px 15px;gap:12px;font-size:14px;min-height:59px}.option-flower{font-size:15px}.option-arrow{font-size:16px}.help-option{font-size:12px}.question-page>.ornament{margin-top:26px;margin-bottom:16px}.page-footnote{font-size:9px;letter-spacing:.8px}.card-dock{height:104px;gap:20px;padding:10px 18px;justify-content:space-between}.dock-caption .eyebrow{font-size:7px;letter-spacing:1.7px}.dock-caption strong{font-size:15px;letter-spacing:1.2px}.dock-caption small{font-size:9px;letter-spacing:0}.dock-cards{min-width:145px;gap:7px;justify-content:flex-end}.mini-card{width:43px;height:63px;padding:4px}.mini-card .question-mark{font-size:23px}.mini-card .card-flourish{font-size:6px}.empty-card{width:43px;height:63px}.dock-empty-text{font-size:9px;max-width:65px}.has-dock{padding-bottom:108px}.has-dock .site-footer{padding-top:100px;min-height:160px}.flying-card,.flying-card>.card-back{width:160px;height:232px}.card-announcement{font-size:14px;letter-spacing:2px;top:calc(50% - 168px)}.result-letter{padding:32px 24px 28px}.result-title{font-size:29px;letter-spacing:2px;line-height:1.65}.result-body{font-size:15px;line-height:2;letter-spacing:.3px;margin-top:22px}.result-signature{font-size:10px;line-height:1.9;margin-top:24px}.result-signature span{font-size:14px}.revealed-menu{padding-top:42px}.result-cards{gap:12px;margin:27px auto 25px;flex-wrap:wrap;max-width:460px}.reveal-card{flex:0 1 calc(50% - 6px);max-width:202px;min-width:130px;height:248px}.reveal-front{padding:19px 13px}.dish-category{font-size:11px;letter-spacing:3px}.dish-icon{width:48px;height:48px;margin:18px 0 13px}.reveal-front h3{font-size:17px;letter-spacing:.5px}.dish-ornament{font-size:10px;margin-top:14px}.result-cards .card-back{padding:6px}.result-cards .question-mark{font-size:60px}.result-actions{gap:10px;flex-wrap:wrap}.result-actions .button{font-size:12px;min-height:45px;padding:11px 18px;gap:13px}.result-note{font-size:10px;line-height:1.9;margin-top:18px;padding:0 9px}.path-details{margin-top:9px;font-size:12px}.path-details strong{font-size:14px}.path-details p span{font-size:11px}.result-again{font-size:11px;text-align:center;margin-top:22px}dialog{padding:23px 24px}dialog h2{font-size:23px}#dialog-body p{font-size:13px}.toast{font-size:11px;padding:11px 17px}.has-dock .toast{bottom:118px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.reveal-inner{transform:rotateY(180deg)}}
@media print{body{background:white;color:black;padding:0}.site-header,.site-footer,.card-dock,.journey-nav,.result-actions,.result-again,.path-details{display:none}.page-surface{border-color:#888;background:white;box-shadow:none}.result-body,.result-signature,.eyebrow,.result-note{color:#555}.result-letter{padding:25px}.result-cards{break-inside:avoid}.reveal-inner{animation:none;transform:rotateY(180deg)}.reveal-front{background:#f5f0e7}.result-wrap{max-width:none;padding:0}}

dialog[open]{animation:open-letter .3s ease-out}@keyframes open-letter{from{opacity:0;transform:perspective(1000px) rotateY(-16deg)}to{opacity:1;transform:perspective(1000px) rotateY(0)}}
/* The first page is a closed menu, delivered from above. */
body.is-opening{padding:0;overflow:hidden}
.is-opening .site-header,.is-opening .site-footer{display:none}
.is-opening main{min-height:100svh;perspective:1600px}
.opening-view{position:relative;isolation:isolate;width:100%;height:100svh;height:100dvh;min-height:340px;overflow:hidden}
.opening-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#79304433 0,transparent 62%),linear-gradient(0deg,#1c07154d,transparent 55%);pointer-events:none}
.opening-menu{position:absolute;top:47%;left:50%;width:350px;max-width:calc(100vw - 80px);height:535px;max-height:73svh;transform:translate(-50%,-50%);transform-origin:left center;display:flex;align-items:center;flex-direction:column;text-align:center;padding:42px 36px 30px;background:radial-gradient(ellipse at 55% 35%,#68273b55,transparent 65%),linear-gradient(100deg,#270b16,#4e182a 7%,#451524 70%,#310e1a);border:1px solid #987d4a;box-shadow:inset 0 0 0 6px #3f1322,inset 0 0 0 7px #a1844f66,9px 4px 0 -5px #2a0c17,11px 4px 0 -5px #9a80513b,0 36px 65px #10020b70;animation:menu-delivery 1150ms cubic-bezier(.18,.75,.18,1) both;will-change:transform}
.opening-menu::after{content:"";position:absolute;inset:14px;border:1px solid #b79b6222;pointer-events:none}
.menu-spine{position:absolute;left:10px;top:10px;bottom:10px;width:10px;border-right:1px solid #af8c4938;background:linear-gradient(90deg,#21071155,transparent);pointer-events:none}
.opening-label{font-size:12px;letter-spacing:7px;padding-left:7px;margin-top:5px}
.opening-rose{width:84px;height:105px;margin:27px auto 13px;opacity:.68}
.opening-menu h1{font-family:var(--serif);font-size:43px;line-height:1.6;letter-spacing:6px;color:#e5d0ad;position:relative;z-index:1;flex-shrink:0}
.opening-menu h1 span{display:block}
.opening-menu h1 span:first-child{font-size:35px;letter-spacing:11px;padding-left:5px}
.opening-menu h1 span:last-child{padding-left:6px}
.opening-menu .ornament{margin:24px 0 0}.opening-menu .ornament i{width:45px}
.opening-seal{margin-top:auto;padding-top:15px;color:var(--gold);font-size:20px;line-height:1}
.opening-hint{position:absolute;top:calc(47% + min(267.5px,36.5svh) + 28px);width:100%;text-align:center;font-size:11px;letter-spacing:4px;color:var(--muted);animation:hint-appear 700ms 700ms both;pointer-events:none}
.opening-hit{position:absolute;inset:0;z-index:5;width:100%;height:100%;cursor:pointer}
.opening-hit:focus-visible{outline:1px solid var(--gold);outline-offset:-14px}
.number-wrap{max-width:660px;padding:44px 24px 0;margin:auto}
.number-page{text-align:center;padding:34px 40px 29px;transform-origin:left center}
.number-page .page-topmark{font-size:16px;margin-bottom:24px}
.number-title{font-size:26px;letter-spacing:2px;line-height:1.8;max-width:420px;margin:0 auto 32px;text-wrap:balance}
.number-pad{max-width:300px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.number-key{height:70px;display:grid;place-items:center;border:1px solid #a187554f;background:linear-gradient(135deg,#ad8e4f0d,transparent);color:#e5cfaa;font-family:Georgia,"Times New Roman",serif;font-size:33px;line-height:1;transition:background .18s,border-color .18s,transform .18s;touch-action:manipulation}
.number-key:hover{background:#b79b621c;border-color:var(--gold);transform:translateY(-2px)}
.number-key:active{background:#b79b622d;transform:translateY(1px)}
.zero-key{grid-column:2}
.number-page .ornament{margin-top:29px;margin-bottom:7px}
.resume-number{font-size:11px;color:var(--muted);margin-top:15px;letter-spacing:1px}
.question-title{margin-bottom:27px}
@keyframes menu-delivery{0%{transform:translate(-50%,calc(-50% - 110vh)) rotate(-4deg);opacity:.4}75%{transform:translate(-50%,calc(-50% + 9px)) rotate(.5deg);opacity:1}100%{transform:translate(-50%,-50%) rotate(0);opacity:1}}
@keyframes hint-appear{from{opacity:0}to{opacity:1}}
@media(max-width:650px){
  .site-header{padding:17px 20px;align-items:center}
  .site-header nav{flex-direction:column;align-items:flex-end;gap:3px;font-size:10px;line-height:1.65}
  .site-header nav button{padding:2px 0}
  .brand>span{font-size:17px;letter-spacing:1.6px}.brand small{font-size:6px;letter-spacing:1.65px}
  .opening-menu{width:300px;max-width:calc(100vw - 68px);height:470px;padding:30px 28px 25px;max-height:72svh}
  .opening-label{font-size:10px;letter-spacing:6px;margin-top:8px}
  .opening-rose{width:72px;height:92px;margin-top:24px;margin-bottom:14px}
  .opening-menu h1{font-size:36px;line-height:1.7;letter-spacing:5px}
  .opening-menu h1 span:first-child{font-size:29px;letter-spacing:9px}
  .opening-menu .ornament{margin-top:23px}.opening-seal{font-size:18px}
  .opening-hint{top:calc(47% + min(235px,36svh) + 26px);font-size:10px;letter-spacing:3px}
  .number-wrap{padding:24px 16px 0}
  .number-page{padding:27px 25px 23px}
  .number-page .page-topmark{margin-bottom:20px}
  .number-title{font-size:23px;line-height:1.8;letter-spacing:1px;max-width:255px;margin-bottom:27px}
  .number-pad{max-width:270px;gap:11px}
  .number-key{height:62px;font-size:30px}
  .number-page .ornament{margin-top:25px}
  .question-title{margin-bottom:25px}
}
@media(max-height:620px){
  .opening-menu{height:76svh;max-height:76svh;top:46%;padding-top:24px;padding-bottom:20px}
  .opening-rose{width:55px;height:65px;margin:12px auto 6px}
  .opening-menu h1{font-size:29px;line-height:1.45}.opening-menu h1 span:first-child{font-size:24px}
  .opening-menu .ornament{margin-top:14px}.opening-seal{padding-top:8px;font-size:14px}
  .opening-label{font-size:9px;margin-top:0}
  .opening-hint{top:calc(46% + 38svh + 18px);font-size:9px}
}
@media(prefers-reduced-motion:reduce){.opening-menu,.opening-hint{animation:none}.opening-menu{transform:translate(-50%,-50%)}.number-key:hover{transform:none}}
/* One approved rose asset is reused for every floral decoration. */
.opening-rose{opacity:.92;display:grid;place-items:center}
.opening-rose img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(.9) saturate(.82)}
.footer-roses{position:absolute;inset:auto 0 0;width:100%;height:230px;pointer-events:none}
.footer-roses::before{content:"";position:absolute;left:13%;right:13%;bottom:-78px;height:130px;border:1px solid #94744038;border-radius:50%}
.footer-rose{position:absolute;height:auto;object-fit:contain;opacity:.55;filter:brightness(.62) saturate(.7);max-width:none}
.rose-large{width:160px;bottom:43px}.rose-small{width:112px;bottom:-20px}.rose-edge{width:130px;bottom:-38px}
.rose-left.rose-large{left:30px;transform:rotate(-20deg)}
.rose-left.rose-small{left:177px;transform:rotate(14deg)}
.rose-left.rose-edge{left:-40px;transform:rotate(-48deg)}
.rose-right.rose-large{right:30px;transform:rotate(20deg) scaleX(-1)}
.rose-right.rose-small{right:177px;transform:rotate(-14deg) scaleX(-1)}
.rose-right.rose-edge{right:-40px;transform:rotate(48deg) scaleX(-1)}
@media(max-width:650px){
 .footer-roses{width:100%;left:0;height:190px}
 .rose-large{width:112px;bottom:52px}.rose-small{width:76px;bottom:-12px}.rose-edge{width:87px;bottom:-24px}
 .rose-left.rose-large{left:-21px}.rose-right.rose-large{right:-21px}
 .rose-left.rose-small{left:55px}.rose-right.rose-small{right:55px}
 .rose-left.rose-edge{left:-35px}.rose-right.rose-edge{right:-35px}
}
/* Antique-gold scrollwork replaces the decorative English captions. */
.filigree{display:block;object-fit:contain;pointer-events:none;flex-shrink:0}
.brand-flourish{width:116px;height:21px;margin-top:3px;opacity:.86}
.opening-flourish{width:144px;height:26px;margin-top:0;opacity:.88}
.dock-flourish{width:92px;height:17px;margin-bottom:1px;opacity:.72}
.letter-flourish{width:280px;max-width:80%;height:50px;margin:0 auto 24px;opacity:.92}
.reveal-flourish{width:164px;height:30px;margin:0 auto 15px;opacity:.84}
@media(max-width:650px){
 .brand-flourish{width:92px;height:16px;margin-top:3px}
 .opening-flourish{width:122px;height:22px;margin-top:3px}
 .dock-flourish{width:76px;height:14px}
 .letter-flourish{width:225px;height:40px;margin-bottom:22px}
 .reveal-flourish{width:142px;height:26px;margin-bottom:12px}
}
@media(max-height:620px){.opening-flourish{width:110px;height:20px;margin-top:0}}
