.live-avatar{width:42px;height:42px;border:2px solid var(--ink);border-radius:50%;display:inline-flex;flex:none;overflow:hidden;background:#eee0ff;box-shadow:0 3px 0 var(--ink)}.live-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 36%}.identity .live-avatar{width:48px;height:48px}.passport-dialog{border:0;max-width:none;max-height:100dvh;width:100vw;height:100dvh;margin:0;padding:0;background:#fffbee;color:var(--ink);overflow-y:auto;overscroll-behavior:contain}.passport-dialog::backdrop{background:#fffbee}.passport-shell{max-width:1220px;margin:auto;padding:35px 36px 55px;min-height:100%;background:radial-gradient(ellipse at 13% 42%,#d3ffe8 0,transparent 37%),radial-gradient(ellipse at 87% 67%,#eee0ff 0,transparent 38%)}.passport-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;max-width:1110px;margin:0 auto 24px}.passport-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:#9870a6}.passport-header h1{font:clamp(32px,4vw,46px)/1.3 var(--playful);margin:5px 0 9px}.passport-header p{color:#807086;font-size:13px;margin:0;line-height:1.8}.passport-close{width:42px;height:42px;border:2px solid var(--ink);background:#fffef7;border-radius:50%;font:28px/1 sans-serif;box-shadow:0 3px var(--ink);flex:none;cursor:pointer}.passport-layout{display:grid;justify-content:center;grid-template-columns:minmax(0,430px);gap:55px;align-items:start;max-width:1110px;margin:auto}.passport-dialog.passport-selecting .passport-layout{grid-template-columns:minmax(0,390px) minmax(0,1fr);gap:50px}.passport-preview{min-width:0;perspective:1100px}.passport-flight{position:relative;transform-origin:center;isolation:isolate}.passport-flight.is-arriving{animation:passport-fly-in 1.12s cubic-bezier(.18,.75,.24,1) both}.passport-card-move{transform:rotateY(var(--card-x,0deg)) rotateX(var(--card-y,0deg));transition:transform .18s ease;transform-style:preserve-3d}.passport-card{--card-accent:#a147f7;--card-light:#eee0ff;border:3px solid var(--ink);border-radius:24px;background:#fffef6;overflow:hidden;box-shadow:8px 10px 0 var(--card-accent),10px 12px 0 2px var(--ink);text-align:left}.passport-card.passport-publisher{--card-accent:#17cab7;--card-light:#d7fff5}.passport-card.passport-player{--card-accent:#ffda45;--card-light:#fff4c0}.passport-card-scene{position:relative;aspect-ratio:1.5;overflow:hidden;background:var(--card-light);border-bottom:3px solid var(--ink)}.passport-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center 37%}.passport-role{position:absolute;top:13px;left:14px;padding:6px 14px;border:2px solid var(--ink);border-radius:40px;background:#fffef6;font:16px/1.3 var(--playful);box-shadow:0 3px var(--card-accent);max-width:85%}.passport-sticker{position:absolute;right:15px;bottom:9px;font-size:42px;line-height:1;color:#ffdf48;-webkit-text-stroke:1.5px var(--ink);transform:rotate(12deg)}.passport-card-info{padding:20px 20px 14px}.passport-name-row{display:flex;align-items:center;gap:11px;min-width:0}.passport-name-row>.live-avatar{width:57px;height:57px;border-width:2px}.passport-name-row>div{min-width:0;flex:1}.passport-eyebrow{font-size:10px;color:#8d7299}.passport-name-row h2{font:clamp(22px,2.4vw,29px)/1.3 var(--playful);margin:3px 0;overflow-wrap:anywhere}.passport-new-badge{border:2px solid var(--ink);border-radius:12px;background:#ffdf4d;padding:6px 7px;font-size:10px;transform:rotate(6deg);text-align:center;flex:none}.passport-new-badge b{font-size:12px}.passport-character{display:flex;align-items:center;gap:9px;margin:18px 0 14px;font-size:12px}.passport-character>span{background:var(--card-light);padding:4px 8px;border-radius:6px;color:#79578b}.passport-character strong{font-weight:700}.passport-org{font-size:11px;line-height:1.7;color:#7e688a;overflow-wrap:anywhere}.passport-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;border:1px solid #e9dfec;border-radius:12px;padding:12px 3px;background:#fffdf3}.passport-facts>div{text-align:center;min-width:0;display:grid;gap:6px;padding:0 4px}.passport-facts>div+div{border-left:1px solid #e5d9e9}.passport-facts span{font-size:10px;color:#8b758e}.passport-facts b{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.passport-card-note{padding:12px 8px;margin:12px 0;border:2px solid var(--ink);background:var(--card-accent);border-radius:12px;color:var(--ink);font:15px/1.4 var(--playful);text-align:center;box-shadow:0 3px var(--ink)}.passport-developer .passport-card-note{color:white}.passport-card-bottom{display:flex;justify-content:space-between;font-size:9px;gap:10px;color:#897192;margin-top:17px;overflow-wrap:anywhere}.passport-orbit{position:absolute;z-index:-1;font-size:50px;color:#ffdc45;-webkit-text-stroke:1.5px var(--ink);pointer-events:none;line-height:1}.orbit-one{top:8%;left:-32px;transform:rotate(-13deg)}.orbit-two{top:43%;right:-35px;color:#b08aff;font-size:55px}.orbit-three{bottom:8%;left:-28px;color:#97e8bb;font-size:45px}.is-arriving .passport-orbit{animation:passport-spark 1.4s cubic-bezier(.18,.75,.24,1) both}.passport-selection{margin:24px 0 17px;text-align:center;font-size:12px;color:#8a6a97}.passport-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}.passport-actions .button{justify-content:center;width:100%;font-size:13px}.passport-signout{display:block;margin:18px auto 0;border:0;background:transparent;color:#937c9c;font-size:12px;text-decoration:underline;cursor:pointer}.passport-error{color:#ad3e68;font-size:12px;line-height:1.7;text-align:center;margin:12px 0}.passport-library{min-width:0;padding:6px 0 0}.passport-library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.passport-library-heading h2{font:25px/1.4 var(--playful);margin:7px 0 18px}.passport-library-heading>b{font-size:11px;color:#9b749d;white-space:nowrap}.passport-search{display:flex;align-items:center;gap:10px;padding:11px 15px;border:2px solid #d7c7df;background:#fffef8;border-radius:12px}.passport-search>span{font:27px/1 sans-serif;color:#a27cb5}.passport-search input{width:100%;border:0;background:transparent;font-size:12px;outline:0;min-width:0}.passport-search:focus-within{border-color:#aa60ed;box-shadow:0 0 0 3px #ad68ec1a}.passport-filters{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.passport-filters button{border:1.5px solid #ddcde6;border-radius:9px;background:#fffef8;padding:7px 9px;font-size:11px;color:#89728f;cursor:pointer}.passport-filters button[aria-pressed=true]{background:#ead4ff;border-color:var(--ink);color:var(--ink);box-shadow:0 2px var(--ink)}.passport-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 11px}.passport-option{position:relative;min-width:0;border:2px solid #dfd2e6;border-radius:15px;padding:5px 5px 8px;background:#fffef7;display:flex;flex-direction:column;gap:7px;align-items:stretch;cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.passport-option:hover{transform:translateY(-3px);border-color:#b77bea;box-shadow:0 4px #d9b3f4}.passport-option.selected{border-color:#271536;box-shadow:0 4px #a650eb;background:#f3e6ff}.passport-option-image{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}.passport-option>span{font-size:10px;white-space:normal;line-height:1.4;overflow-wrap:anywhere}.passport-option>i{display:none;position:absolute;right:4px;top:4px;background:#9a3ce7;border:2px solid #fff9e9;color:white;border-radius:50%;width:22px;height:22px;font:700 13px/18px sans-serif;text-align:center}.passport-option.selected>i{display:block}.passport-fineprint{font-size:10px;color:#92789a;line-height:1.8;margin-top:17px}.passport-empty{grid-column:1/-1;color:#967b9d;font-size:12px;padding:30px;text-align:center}.passport-dialog button:focus-visible{outline:3px solid #a546ec;outline-offset:4px}.passport-dialog button:disabled{opacity:.55;cursor:wait}.passport-welcome .passport-actions{animation:passport-actions-in .45s .85s ease both}
@keyframes passport-fly-in{0%{opacity:0;transform:translate3d(23vw,32vh,-450px) rotateY(-27deg) rotateZ(14deg) scale(.35)}55%{opacity:1;transform:translate3d(-9px,-13px,0) rotateY(6deg) rotateZ(-4deg) scale(1.045)}78%{transform:translate3d(4px,4px,0) rotateY(-2deg) rotateZ(1.3deg) scale(.99)}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1)}}
@keyframes passport-spark{0%,35%{opacity:0;scale:.2}70%{opacity:1;scale:1.2}100%{opacity:1;scale:1}}
@keyframes passport-actions-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:900px){.passport-selecting .passport-preview{position:sticky;top:24px}}
@media(max-width:900px){.passport-shell{padding:26px 22px 40px}.passport-dialog.passport-selecting .passport-layout{grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:25px}.passport-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.passport-card-info{padding:17px 15px 13px}.passport-new-badge{display:none}.passport-role{font-size:13px}.passport-library-heading h2{font-size:21px}}
@media(max-width:680px){.passport-shell{padding:22px 20px 35px}.passport-header{gap:12px;margin-bottom:25px}.passport-header h1{font-size:31px}.passport-header p{font-size:11px;max-width:260px}.passport-close{width:36px;height:36px;font-size:24px}.passport-dialog.passport-selecting .passport-layout,.passport-layout{grid-template-columns:minmax(0,370px);gap:32px}.passport-selecting .passport-preview{position:static}.passport-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px}.passport-option{padding:4px 4px 7px;border-radius:12px}.passport-option-image{border-radius:8px}.passport-option>span{font-size:9px}.passport-orbit{font-size:36px}.orbit-one{left:-15px}.orbit-two{right:-17px}.orbit-three{left:-14px}.passport-card{box-shadow:5px 7px 0 var(--card-accent),6px 8px 0 2px var(--ink)}.passport-card-info{padding:17px}.passport-name-row h2{font-size:24px}.passport-card-scene{aspect-ratio:1.5}.live-avatar{width:34px;height:34px}.passport-name-row>.live-avatar{width:53px;height:53px}.passport-card-note{font-size:14px}.passport-library-heading{align-items:flex-start}.passport-library-heading h2{font-size:24px}.passport-library-heading>b{padding-top:7px}.passport-actions .button{font-size:12px;min-height:44px}.passport-filters{gap:6px}.passport-filters button{font-size:10px;padding:7px}.passport-kicker{font-size:9px}.passport-card-bottom{font-size:8px}}
@media(max-width:360px){.passport-shell{padding:18px 16px 30px}.passport-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.passport-name-row>.live-avatar{width:45px;height:45px}.passport-name-row h2{font-size:22px}.passport-role{font-size:12px}.passport-facts b{font-size:10px}}
@media(prefers-reduced-motion:reduce){.passport-flight.is-arriving,.is-arriving .passport-orbit,.passport-welcome .passport-actions{animation:none}.passport-card-move{transform:none!important;transition:none}.passport-option{transition:none}.passport-option:hover{transform:none}}

@media(min-width:900px) and (max-height:850px){.passport-shell{padding-top:20px;padding-bottom:25px}.passport-header{margin-bottom:14px}.passport-header h1{font-size:32px;margin-top:4px;margin-bottom:5px}.passport-header p{font-size:11px}.passport-welcome:not(.passport-selecting) .passport-layout{grid-template-columns:minmax(0,350px)}.passport-welcome:not(.passport-selecting) .passport-card-scene{aspect-ratio:1.65}.passport-welcome:not(.passport-selecting) .passport-card-info{padding:14px 16px 12px}.passport-welcome:not(.passport-selecting) .passport-character{margin:10px 0}.passport-welcome:not(.passport-selecting) .passport-facts{padding:9px 2px}.passport-welcome:not(.passport-selecting) .passport-card-note{margin:10px 0;padding:9px}.passport-welcome:not(.passport-selecting) .passport-card-bottom{margin-top:12px}.passport-welcome:not(.passport-selecting) .passport-name-row>.live-avatar{width:48px;height:48px}.passport-welcome:not(.passport-selecting) .passport-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.passport-welcome:not(.passport-selecting) .passport-actions .button{font-size:10px;padding:11px 8px}.passport-welcome:not(.passport-selecting) .passport-selection{margin:19px 0 13px}.passport-selecting .passport-preview{position:static}}

.passport-dialog{overflow-x:hidden}.passport-savebar{display:none}.passport-selecting .passport-shell{padding-bottom:110px}.passport-selecting .passport-savebar{position:fixed;z-index:8;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:20px;padding:15px 24px;background:#fffbeeef;backdrop-filter:blur(12px);border-top:2px solid #e2d1eb;box-shadow:0 -6px 25px #3d19500c}.passport-savebar>span{display:grid;font-size:10px;line-height:1.6;color:#9a7ba7;min-width:0}.passport-savebar strong{font:17px/1.5 var(--playful);color:var(--ink);overflow-wrap:anywhere}.passport-preview-link{border:0;background:transparent;color:#8c44bf;font-size:12px;text-decoration:underline;cursor:pointer}.passport-savebar .button{font-size:12px;white-space:nowrap}@media(max-width:680px){.passport-selecting .passport-savebar{gap:12px;padding:12px 18px}.passport-savebar>span{flex:1;font-size:9px}.passport-savebar strong{font-size:14px}.passport-preview-link{font-size:10px;white-space:nowrap}.passport-savebar .button{font-size:10px;padding:10px 13px;min-height:40px}}

@media(min-width:900px) and (max-height:850px){.passport-welcome:not(.passport-selecting) .passport-card-scene{aspect-ratio:1.8}.passport-welcome:not(.passport-selecting) .passport-new-badge{display:none}.passport-welcome:not(.passport-selecting) .passport-name-row h2{font-size:26px}.passport-welcome:not(.passport-selecting) .passport-selection{margin-top:14px}}
