/* Accepted V3 keepsake identity, scoped exclusively to the result screen. */
#app[data-identity]:before{background-image:url('assets/refined/station.png');background-position:center 65%;opacity:.6;filter:blur(3px) brightness(.7)}
#app[data-identity]:after{background:linear-gradient(#071d3866,#071d38b8)}
#app[data-identity] #phaser,#app[data-identity] .grain{visibility:hidden}
#result.identity-result{padding:82px 18px 26px;display:none;align-items:center;overflow:auto;text-align:center;scrollbar-width:thin}
#result.identity-result.active{display:flex}
.identity-heading small{font-size:10px;letter-spacing:.18em;color:#dcc28d}
.identity-heading h2{font:500 29px/1.4 KaiTi,STKaiti,serif;margin:10px 0 16px;color:#f4ebd8;outline:0}
.identity-stage{width:300px;height:450px;flex-shrink:0;perspective:1200px;position:relative;margin:0 auto 18px}
.identity-card{display:block;width:100%;height:100%;border:0;background:none;padding:0;cursor:pointer;transform:rotate(-3deg);color:#071d38;filter:drop-shadow(12px 18px 15px #0006);-webkit-tap-highlight-color:transparent}
.identity-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.22,.8,.25,1)}
.identity-card.flipped .identity-flipper{transform:rotateY(180deg)}
.identity-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:17px;background:radial-gradient(ellipse at top left,#fffbef,#efe1c3);border:1px solid #a38045;box-shadow:inset 0 0 0 5px #f6ecd5,inset 0 0 0 6px #c7aa71;padding:23px;text-align:center;overflow:hidden}
.identity-front:before{content:'';position:absolute;inset:48% -10% 0;opacity:.12;background:repeating-radial-gradient(ellipse at bottom right,transparent 0 12px,#8b632d 13px 14px);pointer-events:none}
.identity-top{display:flex;justify-content:space-between;align-items:center;font:10px Georgia,serif;color:#946b32;letter-spacing:.1em}
.identity-top small{font-size:8px}
.identity-face h3{font:700 29px/1.3 KaiTi,STKaiti,serif;margin:15px 0 5px}
.identity-motto{font-size:10px;margin:0;letter-spacing:.05em}
.identity-character{position:absolute;top:26%;height:43%;width:80%;left:10%;object-fit:contain;filter:drop-shadow(3px 5px 4px #8c66272a)}
.identity-name{position:absolute;top:69%;left:10%;right:10%;font-size:14px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.identity-route{position:absolute;top:75%;left:7%;right:7%;font-size:9px;color:#826139}
.identity-footer{position:absolute;left:9%;right:9%;bottom:6%;display:flex;gap:12px;align-items:center;text-align:left}
.identity-footer img{width:57px;height:57px;background:white;flex-shrink:0;image-rendering:pixelated}
.identity-footer p{font-size:10px;line-height:1.65;margin:0}
.identity-footer small{display:block;color:#84672c;font-size:9px;margin-top:3px}
.identity-flip-hint{position:absolute;bottom:2%;left:0;right:0;font-size:8px;color:#957844}
.identity-back{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center}
.identity-stamp{border:2px solid #a5783b;border-radius:50%;padding:14px 8px;font:16px KaiTi,serif;color:#a5783b;transform:rotate(-12deg);margin:14px 0 8px}
.identity-back h3{font-size:25px;line-height:1.5;margin:8px 0}
.identity-back p{font-size:12px;line-height:1.95;margin:9px 0}
.identity-back blockquote{font-size:12px;margin:13px 0}.identity-back>small{font-size:10px;line-height:1.8}
.identity-controls{width:300px;flex-shrink:0;position:relative}
.identity-controls label{display:block;font-size:10px;color:#ddd4be;margin:0 0 7px}
.identity-controls input{width:100%;background:#051c38b0;border:1px solid #c4b58877;border-radius:6px;padding:10px;color:white;min-height:40px;font-size:12px;text-align:center;margin-bottom:11px}
.identity-primary{display:block;width:100%;min-height:46px;border-radius:28px;border:1px solid #c49a50;background:linear-gradient(#fff8e9,#ead8b5);color:#71491e;font-size:15px;font-weight:600;padding:12px 18px;box-shadow:inset 0 0 0 3px #fff7e3,inset 0 0 0 4px #cfb078,0 4px 0 #765223;cursor:pointer;text-decoration:none;text-align:center}
.identity-secondary{background:none;border:0;font-size:11px;color:#ddd4be;min-height:40px;padding:10px;cursor:pointer}
.identity-privacy{font-size:9px;line-height:1.7;color:#aab9c4;margin:0}
.identity-result button:focus-visible,.identity-controls input:focus-visible,.identity-dialog a:focus-visible,.identity-dialog button:focus-visible{outline:3px solid #78ccd4;outline-offset:5px}
.identity-primary:disabled{opacity:.6;cursor:wait}
.identity-curtain{position:absolute;inset:0;z-index:10;pointer-events:none;background:#071d38;display:grid;place-content:center;gap:20px;color:#e8d6af;font:27px KaiTi,serif;transform:translateX(-110%)}
.identity-curtain small{font:10px Georgia,serif;letter-spacing:.25em}
.identity-dialog{width:min(450px,94vw);max-height:92vh;overflow:auto;padding:23px;border:1px solid #b7a477;border-radius:18px;background:#f4ebd8;color:#071d38;text-align:center}
.identity-dialog::backdrop{background:#000b}.identity-dialog h2{font-size:20px}.identity-dialog p{font-size:12px;line-height:1.8}
.identity-dialog>img{display:block;max-width:100%;max-height:55vh;margin:15px auto;border-radius:10px}
.identity-close{float:right;background:none;border:0;color:#071d38;font-size:24px;padding:0 7px;cursor:pointer}
@media(min-width:850px){#result.identity-result{padding-top:88px}.identity-stage{width:320px;height:480px}.identity-controls{width:320px}}
@media(max-width:380px){.identity-stage{width:280px;height:420px}.identity-controls{width:280px}.identity-face{padding:21px}.identity-face h3{font-size:27px}.identity-footer img{width:50px;height:50px}.identity-route{font-size:8px}}
@media(prefers-reduced-motion:reduce){.identity-flipper{transition:none}.identity-card{transform:none}}
