@font-face{font-family:ProgramSerif;src:url('assets/program-serif.ttf') format('truetype');font-weight:400;font-display:swap}:root{font-family:ProgramSerif,'Noto Serif TC','Songti TC',serif;color:#d5ba86;background:#0d0b09;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#2b2118,#0d0b09 65%);min-height:100svh}button{font:inherit;cursor:pointer;color:inherit}.experience{min-height:100svh;padding:18px 14px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}.masthead{display:flex;gap:20px;font:10px Georgia,serif;letter-spacing:.23em;color:#ad9877}.frame{width:min(100%,420px);aspect-ratio:9/16;position:relative;perspective:1200px;box-shadow:0 22px 45px #0009}.panel{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s,transform .8s;backface-visibility:hidden}.cover-page{background:#080a0d;display:flex;justify-content:center;align-items:center;border:1px solid #8b75504d}.cover-page:after{content:'';position:absolute;inset:14px;border:1px solid #aa906354}.cover-page img{width:100%;height:100%;object-fit:cover}.cover-page p{position:absolute;bottom:8%;font-size:13px;letter-spacing:.15em}.frame[data-step="0"] .cover-page,.frame[data-step="1"] .scene,.frame[data-step="2"] .letter,.frame[data-step="3"] .profile{opacity:1;visibility:visible;pointer-events:auto;transform:none}.scene{background:#15100c}.scene-image{width:100%;height:100%;object-fit:fill}.scene-head{position:absolute;top:14%;left:29%;right:5%;text-align:center;text-shadow:0 2px 7px #000a}.scene h1{font:clamp(30px,8vw,43px) Georgia,serif;letter-spacing:.1em;font-weight:400;margin:0 0 18px;color:#d3b67f;white-space:nowrap}.title-rule{display:flex;gap:10px;align-items:center;font-size:13px;color:#c8ab77}.title-rule:before,.title-rule:after{content:'';height:1px;background:linear-gradient(90deg,transparent,#9f804f);flex:1}.title-rule:after{transform:scaleX(-1)}.subtitle{font-size:clamp(10px,2.7vw,13px);letter-spacing:.1em;margin:15px 0 24px;white-space:nowrap}.question{font-size:clamp(18px,4.8vw,23px);line-height:1.8;letter-spacing:.13em;text-align:left;margin:0;padding-left:10%;color:#e0c28c}.card-touch,.card-back,.card-flap{position:absolute;left:35.25%;top:56.7%;width:55.7%;height:20.65%}.card-touch{z-index:4;background:transparent;border:0}.card-back{background:#e9d4ae;opacity:0;z-index:2}.card-flap{overflow:hidden;transform-origin:50% 0%;transform-style:preserve-3d;opacity:0;z-index:3;box-shadow:0 4px 10px #0007}.card-flap img{position:absolute;width:179.6%;height:484.3%;left:-63.3%;top:-274.6%;max-width:none}.magic-light{position:absolute;left:21%;top:45%;width:86%;height:45%;opacity:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse,#fff8d899 0%,#f8d89060 24%,#ffbd5433 42%,transparent 70%);filter:blur(13px);mix-blend-mode:screen;transform:scale(.65)}.scene-open{position:absolute;top:83%;left:34%;width:59%;padding:11px 4px;border:0;border-bottom:1px solid #b798686e;background:linear-gradient(90deg,transparent,#35230d55,transparent);font-size:15px;letter-spacing:.18em;text-shadow:0 1px 5px black}.scene-open span{margin-left:7px;font-size:12px}.opening .card-back,.opening .card-flap{opacity:1}.opening .card-flap{animation:lift 1.2s .18s cubic-bezier(.25,.6,.2,1) both}.opening .magic-light{animation:flash 1.25s ease both}.opening .scene-open{opacity:0}.opening .card-touch{pointer-events:none}@keyframes flash{0%{opacity:0;transform:scale(.65)}25%{opacity:1;transform:scale(1)}65%{opacity:.8;transform:scale(1.13)}100%{opacity:0;transform:scale(1.25)}}@keyframes lift{0%{transform:rotateX(0)}100%{transform:rotateX(165deg);filter:brightness(1.2)}}
.letter{background:radial-gradient(ellipse at 45% 40%,#f1e6cc,#dfcda9 76%,#bca782);color:#3b2d1c;transform:rotateX(-65deg);transform-origin:center top;border:1px solid #af9872;box-shadow:inset 0 0 20px #896d462e}.letter:after,.profile:after{content:'';position:absolute;inset:12px;border:1px solid #967b535c;pointer-events:none}.letter-inner,.profile-content{padding:28px 29px 35px}.letter-top,.profile-top{display:flex;justify-content:space-between;gap:10px;font:9px Georgia,serif;letter-spacing:.17em;border-bottom:1px solid #a18a61;padding-bottom:14px}.insignia{text-align:center;font-size:36px;color:#967648;margin:22px 0 12px}.letter-kicker{text-align:center;color:#80633e;font-size:13px;letter-spacing:.16em;margin:0 0 12px}.letter h2{text-align:center;font-size:30px;font-weight:400;letter-spacing:.2em;margin:0}.letter-line{width:42px;height:1px;background:#987c51;margin:22px auto}.letter p:not(.letter-kicker){font-size:16px;line-height:1.9;letter-spacing:.02em;margin:0 0 18px}.letter-foot{border-top:1px solid #9d865f;text-align:center;padding-top:17px;margin-top:22px;font:9px/1.7 Georgia,serif;letter-spacing:.13em;color:#796143}.letter-foot span{display:block;margin-top:8px}.profile{background:#111213;border:1px solid #796244;transform:rotateX(-15deg)}.profile-top{color:#ad9877;border-color:#806d50}.portrait{width:calc(100% + 34px);margin:23px -17px 26px;aspect-ratio:1.04;overflow:hidden;position:relative}.portrait img{position:relative;width:123%;height:auto;max-width:none;left:-11.5%;top:0}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111213,transparent 20%)}.profile-kicker{font:10px Georgia,serif;letter-spacing:.22em;color:#ad9672;margin:0 0 12px}.profile h2{font-size:28px;font-weight:400;letter-spacing:.13em;margin:0}.profile-rule{width:40px;height:1px;background:#a68a5f;margin:20px 0}.profile p:not(.profile-kicker){font-size:16px;line-height:1.95;letter-spacing:.02em;color:#d6c9b2;margin:0 0 18px}.profile-closing{border-left:1px solid #a88b5c;padding-left:13px;margin-top:25px!important}.frame[data-step="2"],.frame[data-step="3"]{aspect-ratio:auto;min-height:620px}.frame[data-step="2"] .letter,.frame[data-step="3"] .profile{position:relative;inset:auto;min-height:620px}.navigation{width:min(100%,420px);display:flex;align-items:center;gap:12px;min-height:44px}.nav-button{border:0;background:none;font-size:14px;letter-spacing:.1em;padding:10px 5px}.nav-next{border-bottom:1px solid #ac8d5e;padding:10px 12px;background:linear-gradient(90deg,transparent,#5f44233b,transparent)}.nav-next span{margin-left:7px}.nav-prev span{font:25px/0 Georgia,serif;vertical-align:-2px}.nav-button[hidden]{display:none}.progress{display:flex;gap:8px;align-items:center;margin:auto}.progress span{height:4px;width:4px;background:#76674f;border-radius:50%}.progress .on{width:15px;border-radius:4px;background:#ccb183}button:focus-visible{outline:2px solid #ddc598;outline-offset:4px}@media(min-width:700px){.experience{padding-top:28px}.frame{width:390px}}@media(prefers-reduced-motion:reduce){.panel{transition:none}.opening .card-flap{animation-duration:.01s}.opening .magic-light{animation:none}}

.frame[data-step="1"] .cover-page{transform:rotateY(-85deg);transform-origin:left center}

/* Original supplied artwork: retain its composition and aspect ratio. */
.frame[data-step="0"]{width:min(100%,350px,34svh);aspect-ratio:707/1536}
.cover-page{border:0}.cover-page:after{display:none}.cover-page img{object-fit:contain}.cover-page p{top:68%;bottom:auto;width:100%;text-align:center;font-size:clamp(10px,2.5vw,13px);letter-spacing:.17em;color:#d5bb88}.cover-divider{display:block;margin-top:15px;font:14px Georgia,serif;color:#aa8e61}
.frame[data-step="1"]{aspect-ratio:1206/1500}.scene-image{object-fit:contain}.story-tagline{position:absolute;left:52.7%;top:39.95%;width:33.3%;height:2.75%;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:clamp(7px,1.8vw,8.5px);letter-spacing:.12em;color:#c8a579;background:linear-gradient(90deg,#100e08,#0c0b07 50%,#090a07);box-shadow:0 0 3px 3px #0c0b07}
.card-touch,.card-back,.card-flap{left:36.73%;top:52.93%;width:55.97%;height:40.67%;clip-path:polygon(6.1% 0,100% 6%,94.2% 100%,0 89%)}.card-flap img{width:178.67%;height:245.9%;left:-65.63%;top:-130.16%}.scene-open{top:95%;left:34%;width:60%;padding:3px 0;font-size:12px;letter-spacing:.15em;border-bottom:0}.magic-light{left:24%;top:44%;width:82%;height:53%;opacity:.14;transform:scale(1);filter:blur(12px);animation:aura-idle 3.5s ease-in-out infinite;background:radial-gradient(ellipse,#f9d89708 30%,#ffe0a841 49%,#e8b57325 59%,transparent 74%)}
@keyframes aura-idle{0%,100%{opacity:.12;transform:scale(.98)}50%{opacity:.24;transform:scale(1.03)}}.opening .magic-light{animation:flash 1.25s ease both;background:radial-gradient(ellipse,#fff8d899 0%,#f8d89060 24%,#ffbd5433 42%,transparent 70%)}
@media(prefers-reduced-motion:reduce){.magic-light{animation:none}}

/* One fixed viewport shared by all four pages. */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0}
.experience{box-sizing:border-box;width:100%;height:var(--view-height,100dvh);min-height:0;max-height:100dvh;padding:max(10px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-rows:20px minmax(0,1fr) 44px;gap:10px;justify-items:center;align-items:stretch}
.masthead{align-items:center}.frame,.frame[data-step]{width:min(100%,430px);height:100%;min-height:0;max-height:100%;aspect-ratio:auto;overflow:hidden;position:relative;align-self:stretch}
.panel,.frame[data-step="2"] .letter,.frame[data-step="3"] .profile{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0}
.navigation{width:min(100%,430px);height:44px;min-height:0;margin:0}.nav-button{min-height:44px}.cover-page img{object-fit:cover;width:100%;height:100%;transform:scale(1.04)}.cover-page p{top:auto;bottom:12%;font-size:13px}.cover-divider{margin-top:10px}
.scene:before{content:'';position:absolute;inset:-25px;background:url('assets/invitation-clean.png') center/cover;filter:blur(20px) brightness(.5)}
.scene-art{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:visible}.scene-image{display:block;width:100%;height:100%;object-fit:contain}
.card-touch,.card-back,.card-flap{left:36.98%;top:54.22%;width:54.93%;height:36.55%;clip-path:none;border-radius:0}.card-flap img{width:182.05%;height:273.6%;left:-67.32%;top:-148.35%}.card-flap{transform-origin:center top}.magic-light{left:26%;top:47%;width:76%;height:48%}.scene-open{top:94%;left:36%;width:57%;font-size:13px;padding:5px 0;min-height:30px}
.letter{transform:translateY(35%) rotateX(75deg);transform-origin:center bottom;transition:transform .9s cubic-bezier(.2,.65,.2,1),opacity .6s,visibility .6s}.frame[data-step="2"] .letter{transform:translateY(0) rotateX(0)}
.letter-inner,.profile-content{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#998264 transparent;padding-bottom:35px}.profile{transform:translateY(12%)}.portrait{aspect-ratio:1.1}.profile:after,.letter:after{z-index:3;position:absolute}.letter-inner:focus-visible,.profile-content:focus-visible{outline:1px solid #b9a079;outline-offset:-3px}
@media(max-height:620px){.experience{gap:6px;padding-top:6px;padding-bottom:6px;grid-template-rows:16px minmax(0,1fr) 42px}.masthead{font-size:9px}.cover-page p{bottom:8%;font-size:11px}.letter-inner,.profile-content{padding-top:22px}}
.experience{grid-template-columns:minmax(0,1fr)}
.scene-art{perspective:1000px}
@media(max-height:620px){.experience{grid-template-rows:16px minmax(0,1fr) 44px}}
.masthead{font-family:ProgramSerif,Georgia,serif}

/* Physical page turns and a continuous illuminated invitation. */
.panel{transition:none!important;transform:none;touch-action:pan-y}
.frame[data-step="1"] .cover-page{transform:none}
.nav-next{display:flex;align-items:center;gap:12px;border-bottom:1px solid #c1a57799;background:linear-gradient(90deg,transparent,#8f69392e,transparent)}
.next-arrow{width:25px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2;animation:arrow-hint 1.2s ease-out 1}
@keyframes arrow-hint{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.scene-open{min-height:44px;border:1px solid #d1ad6b66;border-radius:50%;background:radial-gradient(ellipse,#c2995033, #9b712515 65%,transparent);box-shadow:0 0 18px #e9b56016,inset 0 0 15px #e9b56010;letter-spacing:.13em;animation:button-breathe 3.8s ease-in-out infinite;z-index:6}
@keyframes button-breathe{50%{box-shadow:0 0 24px #e9b56035,inset 0 0 18px #e9b56022;border-color:#dfbf8688}}
.sigil-light{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#fff2c7b0, #efc16a44 30%,transparent 65%);mix-blend-mode:screen;opacity:0;z-index:5}
.opening .sigil-light{animation:seal-wake .75s ease-out both}
@keyframes seal-wake{0%{opacity:0;transform:scale(.65)}35%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.1)}}
.opening .card-flap{animation:lift 1s .4s cubic-bezier(.25,.6,.2,1) both}.opening .magic-light{animation:flash 2.1s .2s ease both}.opening .scene-open{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.scene-open,.next-arrow,.sigil-light{animation:none!important}}

.card-touch,.card-back,.card-flap{left:37.2%;top:44.26%;width:53.53%;height:27.3%}.card-flap img{width:186.82%;height:366.3%;left:-69.49%;top:-162.12%}.sigil-light{left:48%;top:46%;width:33%;height:24%}.magic-light{left:27%;top:37%;width:74%;height:43%}.scene-open{left:35%;top:79%;width:59%;font-size:14px}.scene-art{top:30%;transform:translate(-50%,-30%)}
/* Tighter tabletop framing and a translucent capsule control. */
.scene-art{overflow:hidden;top:50%;transform:translate(-50%,-50%)}
.scene-image{height:114.101%;object-fit:fill}
.card-touch,.card-back,.card-flap{top:50.5%;height:31.15%}
.sigil-light{top:52.49%;height:27.38%}.magic-light{top:42.22%;height:49.06%}
.scene-open{top:87%;left:35%;width:59%;height:44px;min-height:44px;border-radius:999px;border:1px solid #ddc18d30;background:rgba(215,185,130,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 #f3dfb513,0 3px 14px #0002;animation:none;color:#e1c99c}
.scene-open:hover{background:rgba(215,185,130,.19)}
.scene-open:active{background:rgba(215,185,130,.25)}

.cover-page p{bottom:9%;line-height:1.8}.cover-name{display:block;font-size:18px;letter-spacing:.24em}.cover-invitation{display:block;margin-top:6px;font-size:14px;letter-spacing:.13em}
.scene-art{container-type:inline-size}.scene-copy{position:absolute;left:42%;right:4%;top:14%;text-align:center;color:#dcc092;text-shadow:0 2px 8px #0008;pointer-events:none}.scene-copy h1{font:32px/1.15 Georgia,serif;font-size:8.5cqw;letter-spacing:.055em;margin:0 0 12px}.scene-label{font-size:15px;letter-spacing:.24em;margin:12px 0 14px}.scene-question{font-size:16px;line-height:1.6;letter-spacing:.045em;margin:0 0 12px}.scene-story{font-size:15px;line-height:1.55;letter-spacing:.06em;margin:0;color:#d7ba8b}
@media(max-width:350px){.scene-copy{top:10%}.scene-copy h1{margin-bottom:8px}.scene-label{margin:8px 0}.scene-question{font-size:14px;margin-bottom:8px}.scene-story{font-size:14px}.cover-page p{bottom:6%}}
.scene-copy{top:9%}.scene-copy h1{margin-bottom:8px}.scene-label{margin:10px 0}.scene-question{margin-bottom:10px}
@media(max-width:350px){.scene-copy{top:4%}.scene-label{margin:8px 0}.scene-question{margin-bottom:8px}}
.scene-copy{top:6%}
@media(max-width:350px){.scene-copy{top:2%}}

/* Lettering matches the supplied artwork while staying on one line. */
.cover-page p{left:50%;transform:translateX(-50%);width:100%;display:flex;align-items:center;flex-direction:column;color:#e4cb9a;text-shadow:0 1px 11px #f2d7a839,0 0 2px #f9deb06e}
.cover-name,.cover-invitation{width:100%;text-align:center}.cover-divider{display:block;width:100%;margin:7px 0 0;text-align:center;color:#d6b97e;letter-spacing:0;white-space:nowrap}
.scene-copy{left:39%;right:1%;top:14%;color:#d4ae79;white-space:nowrap;text-shadow:0 1px 7px #0009}
.scene-copy h1{font-family:Georgia,serif;font-size:8.3cqw;font-weight:400;letter-spacing:.065em;color:#d6b285;margin-bottom:10px}
.scene-copy .title-rule{font-size:12px;color:#d6b285}
.scene-label{font-size:13px;letter-spacing:.17em;color:#d4af80;margin:12px 0 22px}
.scene-question{font-size:clamp(10px,3.3cqw,13px);letter-spacing:0;line-height:1.5;margin:0 0 15px;color:#e2c18e}
.scene-story{font-size:clamp(11px,3.25cqw,13px);line-height:1.5;letter-spacing:0;color:#d9b881}
.scene-image{mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 90%,transparent 100%)}
.scene:before{filter:blur(25px) brightness(.43);inset:-35px}
@media(max-width:350px){.scene-copy{top:14%;left:39%;right:1%}.scene-label{margin:8px 0 13px}.scene-question{margin-bottom:10px}}
/* The portrait's text scrolls inside the inner gold rule. */
.profile-content{position:absolute;inset:13px;width:auto;height:auto;min-height:0;padding:14px 16px 52px;overscroll-behavior:contain;scrollbar-width:none}
.profile-content::-webkit-scrollbar{display:none}
.profile .portrait{width:calc(100% + 32px);margin:17px -16px 16px;aspect-ratio:1.65}
.profile .portrait img{width:105%;left:-2.5%;top:-20px}
.profile-kicker{margin-bottom:8px}.profile-rule{margin:12px 0}.profile p:not(.profile-kicker){line-height:1.75;margin-bottom:18px}
.profile-scroll-hint{position:absolute;z-index:4;bottom:13px;left:13px;right:13px;height:57px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1px;padding-bottom:5px;background:linear-gradient(to bottom,transparent,#111213 68%,#111213);color:#d8bc8b;font:12px ProgramSerif,serif;letter-spacing:.14em;pointer-events:none;transition:opacity .25s}
.profile-scroll-hint.is-hidden{opacity:0}.scroll-mark{font:20px/1 Georgia,serif}
.scene-story{font-size:clamp(13px,4cqw,15px)}.scene-question{font-size:clamp(12px,3.6cqw,13px)}
.profile-scroll-hint{height:73px;padding-bottom:8px;background:linear-gradient(to bottom,transparent,#111213 54%,#111213 100%);color:#e3ca99;font-size:13px;text-shadow:0 1px 3px #000}
@media(max-width:350px){.scene-copy{top:12%}}

/* Preserve the original poster typography and the actual wood tabletop. */
.cover-divider{position:relative;left:-5px}
.scene{background:#100b07}
.scene:before{background-image:url('assets/invitation-clean.png');background-position:center bottom;background-size:cover;filter:blur(13px) brightness(.67)}
.scene-art{top:calc(50% - 10px)}
.scene-image{height:114.101%;object-fit:fill;mask-image:none;-webkit-mask-image:none}
.story-tagline{position:absolute;left:43.5%;top:38.35%;width:52%;height:4.7%;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:clamp(9px,3.3cqw,13px);letter-spacing:.08em;color:#e2bf8f;text-shadow:0 1px 4px #000;z-index:1;background:linear-gradient(90deg,transparent,#120e0a 5%,#0d0c0a 90%,transparent)}
.venue{white-space:nowrap}.venue-name{text-decoration:underline;text-decoration-color:#806846;text-underline-offset:4px;text-decoration-thickness:1px}
.profile .portrait{aspect-ratio:1.2}
.profile .portrait img{width:100%;left:0;top:-18px}
.scene:before{inset:0;filter:none;background-image:url('assets/invitation-clean.png');background-position:center;background-size:100% 100%}
.scene-image{mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 91%,transparent 100%)}
.story-tagline{background:radial-gradient(ellipse at center,#100e0bed 42%,#100e0bd4 70%,transparent 91%)}
.scene:before{background-image:url('assets/table-extension.png');background-size:100% 100%;background-position:center;filter:none;mask-image:linear-gradient(to bottom,transparent 0%,transparent 68%,#000 84%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 68%,#000 84%)}

/* The sound switch is available without moving the centered heading. */
.masthead{position:relative;justify-content:center;width:min(100%,430px)}
.sound-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;padding:5px;border:1px solid #bca47350;border-radius:50%;background:#221a1399;color:#cdb58a}
.sound-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sound-toggle[aria-pressed="false"] .sound-wave,.sound-toggle[aria-pressed="true"] .sound-slash{display:none}
.sound-toggle[aria-pressed="true"]{border-color:#d5b987a8;color:#f0d49e;background:#3c2c1b}
.opening .card-flap{animation-duration:.85s;animation-delay:.1s}

/* Shared optical axis; tracking is balanced on both sides of the text. */
.cover-name{padding-left:.24em}.cover-invitation{padding-left:.13em}
.cover-divider{left:0;display:flex;align-items:center;justify-content:center;gap:7px;line-height:1}
.cover-divider i{display:block;width:11px;height:1px;background:currentColor}
.cover-divider b{font-weight:400;font-size:14px}
.story-tagline{background:none;box-shadow:none;letter-spacing:.06em;font-size:clamp(9px,3.3cqw,13px)}
.profile-content{bottom:49px;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:#88724c transparent}
.profile .portrait{margin-top:12px;margin-bottom:10px}
.profile .portrait .portrait-original-face{position:absolute;top:-18px;left:0;width:100%;mask-image:linear-gradient(to bottom,#000 0%,#000 39%,transparent 52%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 39%,transparent 52%)}
.profile-scroll-hint{height:35px;background:#111213;justify-content:center;flex-direction:row;gap:8px;padding:0;border-top:1px solid #a68a5f25;font-size:11px}
.profile-scroll-hint .scroll-mark{font-size:17px}

/* Flexible paper: a moving cylindrical fold exposes the reverse of the sheet. */
.page-curl{position:absolute;inset:0;z-index:20;pointer-events:none;perspective:1500px;perspective-origin:50% 50%;transform-style:preserve-3d}
.curl-strip{position:absolute;left:0;top:0;height:100%;transform-origin:left center;transform-style:preserve-3d;will-change:transform}
.curl-front,.curl-back{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.curl-back{transform:rotateY(180deg);border-left:1px solid #d3bd8b0a}
.curl-shadow{position:absolute;top:0;width:70px;height:100%;transform:translateX(-25%);background:linear-gradient(90deg,transparent,#000b 45%,transparent);filter:blur(10px);opacity:0;pointer-events:none}
