/* The stellar pair have two different keepsakes: a light passport and a wonder letter. */
.identity-folio{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:20px;width:100%;margin-top:28px;padding:20px 14px;border:1px solid #a9dfea39;background:#0b1921e6;position:relative}
.identity-folio small{display:block;font:9px/1.8 var(--mono);letter-spacing:.1em;color:var(--accent)}
.identity-folio p{font:15px/1.8 var(--serif);margin:8px 0 9px;color:var(--ink)}
.identity-folio button{min-height:44px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--accent);background:none;text-align:left;font:12px/1.7 var(--sans);transition:color .3s,border-color .3s}
.identity-folio button:hover{border-color:var(--accent)}
.identity-folio output{display:block;margin-top:7px;font:10px/1.7 var(--sans);color:var(--muted);min-height:27px}
.folio-art{position:relative;display:grid;place-items:center;min-height:125px;color:var(--accent)}
.light-folio .folio-art svg{width:130px;height:98px;stroke:var(--accent);fill:none;stroke-width:.7;opacity:.65;transition:filter .5s,opacity .5s}
.light-folio .folio-art span{position:absolute;bottom:2px;font:8px var(--mono);letter-spacing:.16em}
#starrain[data-folio-lit=true] .folio-art svg{opacity:1;filter:drop-shadow(0 0 9px #a9dfea77)}
#starrain[data-folio-lit=true] .identity-folio{border-top-color:#a9dfea;box-shadow:0 -15px 35px -25px #a9dfea55}
#starrain[data-folio-lit=true] .person-image:before{opacity:.4}
#mengluo .identity-folio{border:1px dashed #ead19560;background:linear-gradient(135deg,#32251fe6,#251f1ae6);padding-top:24px}
.wonder-seal{width:84px;height:91px;border:3px double #ead19580;display:grid;place-content:center;text-align:center;rotate:-9deg;color:#ead195a0;font:30px/1.1 'KaiTi',var(--serif);transition:rotate .45s,color .45s,scale .45s}
.wonder-folio .folio-art i{position:absolute;right:0;top:0;font:33px var(--serif);color:var(--accent);font-style:normal}
#mengluo[data-folio-lit=true] .wonder-seal{rotate:3deg;color:var(--accent);scale:1.09;border-color:var(--accent);background:#ead1950b}
.identity-folio [aria-pressed=true]{border-color:var(--accent)}
body.stellar-page[data-card-echo=starrain] .photo-card{border-color:#a9dfea80;box-shadow:0 0 20px #a9dfea15}
body.stellar-page[data-card-echo=mengluo] .photo-card{border-color:#ead19580;box-shadow:0 0 20px #ead19513}

/* One reusable, keyboard-friendly print room. The actual export uses a native canvas. */
.card-print-dialog{width:min(760px,calc(100vw - 40px));max-height:calc(100svh - 36px);padding:0;border:1px solid #a6d9e64d;background:#0c1923;color:#f0eee5;overflow:auto;overscroll-behavior:contain;caret-color:transparent}
.card-print-dialog::backdrop{background:#061018ce;backdrop-filter:blur(9px)}
.card-print-dialog[open]{animation:card-room-in .38s var(--scene-ease)}
.card-print-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-bottom:1px solid #ffffff1f}
.card-print-head small{font:8px var(--mono);letter-spacing:.13em;color:#a9c3ce}
.card-print-head h2{font:25px/1.5 var(--serif);margin-top:9px;color:inherit}
.card-print-close{width:46px;min-width:46px;height:46px;background:transparent;border:1px solid #ffffff40;color:inherit;border-radius:50%;font-size:26px;line-height:1}
.card-print-stage{min-height:260px;display:grid;place-items:center;padding:25px 28px;background:repeating-linear-gradient(45deg,#ffffff02 0px,#ffffff02 1px,transparent 1px,transparent 9px)}
.card-print-image{width:auto;max-width:100%;max-height:57svh;height:auto;object-fit:contain;box-shadow:0 16px 55px #0005;user-select:auto;-webkit-touch-callout:default;cursor:default}
.card-print-status{font:13px/1.9 var(--sans);color:#a9c3ce;max-width:340px;text-align:center;padding:40px 15px}
.card-print-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:22px 28px;border-top:1px solid #ffffff1f}
.card-print-actions>button{min-height:46px;padding:11px 18px;background:#a9dfea;color:#0b1c2b;font-size:12px;border:1px solid #a9dfea}
.card-print-actions>[data-music-toggle]{background:transparent;color:inherit;border-color:#ffffff30}
.card-print-actions p{width:100%;font:10px/1.9 var(--sans);color:#a9c3ce}
.card-print-dialog[data-print-theme=mengluo]{background:#ede3ce;color:#473b2c;border-color:#956b3b80}
.card-print-dialog[data-print-theme=haifeng]{background:#f0e9dc;color:#433e33;border-color:#a6533580}
.card-print-dialog[data-print-theme=meeq]{background:#e8e5cc;color:#454c35;border-color:#707c4380}
.card-print-dialog[data-print-theme=harry]{background:#191c20;color:#ece7dc;border-color:#e1ae7880}
.card-print-dialog[data-print-theme=mengluo] :is(.card-print-head small,.card-print-status,.card-print-actions p),.card-print-dialog[data-print-theme=haifeng] :is(.card-print-head small,.card-print-status,.card-print-actions p),.card-print-dialog[data-print-theme=meeq] :is(.card-print-head small,.card-print-status,.card-print-actions p){color:#766c55}
.card-print-dialog[data-print-theme=mengluo] .card-print-actions>[data-card-download]{background:#956b3b;border-color:#956b3b;color:#fff9e9}
.card-print-dialog[data-print-theme=haifeng] .card-print-actions>[data-card-download]{background:#a65335;border-color:#a65335;color:#fff9e9}
.card-print-dialog[data-print-theme=meeq] .card-print-actions>[data-card-download]{background:#707c43;border-color:#707c43;color:#fff9e9}
.card-print-dialog[data-print-theme=harry] .card-print-actions>[data-card-download]{background:#e1ae78;border-color:#e1ae78;color:#191c20}
.card-print-dialog[data-print-theme=mengluo] :is(.card-print-head,.card-print-actions),.card-print-dialog[data-print-theme=haifeng] :is(.card-print-head,.card-print-actions),.card-print-dialog[data-print-theme=meeq] :is(.card-print-head,.card-print-actions){border-color:#473b2c26}
.card-print-dialog[data-print-theme=mengluo] :is(.card-print-close,[data-music-toggle]),.card-print-dialog[data-print-theme=haifeng] :is(.card-print-close,[data-music-toggle]),.card-print-dialog[data-print-theme=meeq] :is(.card-print-close,[data-music-toggle]){border-color:#473b2c50}
@keyframes card-room-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.identity-folio{grid-template-columns:96px minmax(0,1fr);gap:14px}.light-folio .folio-art svg{width:96px}.identity-folio p{font-size:14px}.identity-folio small{font-size:8px}}
@media(max-width:760px){.identity-folio{grid-template-columns:84px minmax(0,1fr);margin-top:20px;padding:16px 12px;gap:12px}.identity-folio p{font-size:14px}.light-folio .folio-art svg{width:84px}.identity-folio output{font-size:10px}.identity-folio button{font-size:11px}.card-print-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.card-print-head{padding:18px;gap:10px}.card-print-head small{font-size:7px;letter-spacing:.08em}.card-print-head h2{font-size:21px}.card-print-close{width:42px;min-width:42px;height:42px}.card-print-stage{padding:18px 16px}.card-print-image{max-height:53svh}.card-print-actions{padding:17px 18px;gap:10px}.card-print-actions>button{font-size:11px;padding:11px 13px}.card-print-actions p{font-size:10px}}
@media(max-width:360px){.identity-folio{grid-template-columns:67px minmax(0,1fr);gap:10px;padding:16px 10px}.light-folio .folio-art svg{width:67px}.wonder-seal{width:60px;height:74px;font-size:24px}.wonder-folio .folio-art i{font-size:25px}.identity-folio small{font-size:8px;letter-spacing:.03em}.identity-folio p{font-size:13px}.identity-folio button{font-size:10px}.card-print-head h2{font-size:19px}}
.motion-off .card-print-dialog[open]{animation:none}
@media(prefers-reduced-motion:reduce){.card-print-dialog[open]{animation:none}.identity-folio *{transition:none!important}}
