.identity-screen{--identity-red:#cf2937;display:grid;grid-template-columns:47% 53%;min-height:100dvh;background:#fff;color:#252528;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','PingFang SC',sans-serif}.identity-brand{position:relative;overflow:hidden;background:#f4f2ee}.identity-art{position:absolute;inset:-2%;background:url('/brand/login-world.png') center center/cover no-repeat;animation:identity-drift 24s ease-in-out infinite alternate;will-change:transform}.identity-brand-content{position:relative;height:100%;min-height:720px;padding:46px 48px;display:flex;flex-direction:column;pointer-events:none}.identity-wordmark{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.6px}.identity-wordmark svg{width:29px;height:29px;fill:none;stroke:var(--identity-red);stroke-width:1.7}.identity-brand h1{margin:70px 0 20px;font-size:clamp(32px,3vw,48px);line-height:1.3;font-weight:550;letter-spacing:-1.4px}.identity-brand p{font-size:14px;color:#77777c;line-height:1.9;margin:0}.identity-brand-foot{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:300px;font-size:10px;letter-spacing:1.4px}.identity-brand-foot i{width:5px;height:5px;border-radius:50%;background:var(--identity-red)}.identity-panel{display:flex;flex-direction:column;min-width:0;background:#fff}.identity-panel>header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;min-height:70px}.identity-panel>header>b{visibility:hidden;font-size:19px}.identity-panel>header>button{background:#f5f5f6;padding:9px 13px;border-radius:24px;font-size:12px;color:#45454b}.identity-main{width:100%;max-width:480px;padding:24px 36px 48px;margin:auto;box-sizing:border-box}.identity-heading{margin-bottom:28px}.identity-eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#939399;margin-bottom:16px}.identity-heading h2{font-size:36px;font-weight:650;line-height:1.2;letter-spacing:-1px;margin:0 0 13px}.identity-heading p{font-size:14px;color:#8d8d95;line-height:1.65;margin:0}.identity-tabs{display:flex;gap:4px;padding:4px;background:#f5f5f6;border-radius:12px;margin-bottom:26px}.identity-tabs>button{flex:1;font-size:13px;padding:12px 4px;border-radius:9px;color:#8a8a91;white-space:nowrap}.identity-tabs>button[aria-selected=true]{background:#fff;color:#242429;font-weight:650}.identity-tabs>button:focus-visible,.identity-panel button:focus-visible{outline:2px solid var(--identity-red);outline-offset:3px}#identity-form{display:flex;flex-direction:column;gap:18px}#identity-form>label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:550}.identity-input{display:flex;align-items:center;gap:12px;height:52px;padding:0 15px;background:#f5f5f6;border:1px solid transparent;border-radius:11px}.identity-input:focus-within{border-color:#e8a7ad;background:#fbf8f8}.identity-input>span{color:#9a9aa0;width:15px;text-align:center;font-size:18px;font-weight:400}.identity-input input{background:transparent;border:0;outline:0;padding:0;margin:0;min-width:0;flex:1;width:100%;font-size:14px;color:#252528;height:100%}.identity-input input::placeholder{color:#b1b1b7}.identity-input>button{font-size:17px;color:#8b8b92;padding:5px}.identity-primary{width:100%;min-height:50px;background:var(--identity-red);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 19px;border-radius:10px;font-size:14px;font-weight:600}.identity-primary:disabled{opacity:.55}.identity-primary:hover:not(:disabled){background:#bb1e2d}.identity-primary>span{font-size:20px;font-weight:400}.identity-note{font-size:11px!important;line-height:1.65!important;color:#93939b!important;margin:0}.identity-error{color:#cf2937;font-size:12px;margin:0;line-height:1.6}.identity-error:empty{display:none}.identity-switch{font-size:12px;color:#92929a;margin-top:26px}.identity-switch button{color:#28282e;font-weight:650;padding:4px}.identity-security{display:flex;gap:9px;font-size:11px;color:#9999a1;margin-top:34px;line-height:1.65}.identity-security svg{width:17px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;margin-top:1px}.identity-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:#a0a0a7;padding:16px 32px 22px}.identity-qr{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.identity-qr>p{font-size:13px;color:#92929b;line-height:1.65;margin:0}.identity-qr #identity-qr-frame{width:224px;height:224px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e9e9ec;border-radius:20px;padding:15px;box-sizing:border-box;background:#fff;gap:16px;font-size:12px;color:#8e8e96}.identity-qr canvas{image-rendering:pixelated;max-width:100%;max-height:100%}#identity-qr-status{font-size:12px;letter-spacing:1px;font-weight:500;color:#5d5d65}#identity-qr-note{max-width:310px}#identity-qr-note button,#identity-qr-frame button{font-size:11px;padding:8px;color:#55555e}#identity-qr-note p{margin-bottom:8px}.identity-orbit{position:absolute;left:34%;top:56%;width:54%;height:28%;border:1px solid #25252808;border-radius:50%;transform:rotate(-22deg);pointer-events:none}.identity-orbit i{position:absolute;width:6px;height:6px;border-radius:50%;background:#cf2937;offset-path:ellipse(50% 50% at 50% 50%);animation:identity-orbit 34s linear infinite}.identity-confirm-device{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 16px;background:#f7f7f8;border-radius:18px;gap:12px;margin:28px 0}.identity-confirm-device>svg{width:40px;height:40px;stroke:#cf2937;fill:none;stroke-width:1.4}.identity-confirm-device>strong{font-size:18px}.identity-confirm-device>span{font-size:13px;color:#8e8e96}.identity-confirm-device p{font-size:12px;color:#8e8e96}.identity-code{font-size:36px;letter-spacing:10px;font-weight:600;padding:14px 0 8px}.identity-cancel{width:100%;margin-top:16px;min-height:44px;color:#777780;font-size:13px}.identity-result>svg{width:50px;height:50px;fill:none;stroke:#cf2937;stroke-width:1.5;margin-bottom:24px}.identity-result h2{font-size:30px;letter-spacing:-.7px;margin:0 0 16px}.identity-result p{font-size:14px;line-height:1.8;color:#8e8e96;margin-bottom:36px}@keyframes identity-drift{0%{transform:scale(1.025) translate3d(-2px,-3px,0)}100%{transform:scale(1.045) translate3d(3px,5px,0)}}@keyframes identity-orbit{to{offset-distance:100%}}@media(max-width:900px){.identity-brand-content{padding:36px 32px}.identity-brand h1{font-size:32px}.identity-main{padding-inline:28px}.identity-heading h2{font-size:32px}}@media(max-width:760px){.identity-screen{grid-template-columns:1fr}.identity-brand{display:none}.identity-panel{min-height:100dvh}.identity-panel>header>b{visibility:visible}.identity-main{max-width:460px;padding:28px 28px 48px}.identity-panel>header{padding:22px 28px}.identity-panel>footer{padding:20px 28px}.identity-heading h2{font-size:34px}}@media(prefers-reduced-motion:reduce){.identity-art,.identity-orbit i{animation:none;will-change:auto}}
/* Compact login shell: two methods, an email code, no separate registration form. */
.identity-screen{grid-template-columns:46.5% 53.5%}.identity-brand-content{min-height:536px;padding:28px}.identity-wordmark{font-size:19px}.identity-wordmark svg{width:26px;height:26px}.identity-brand h1{font-size:clamp(28px,2.8vw,38px);margin-top:48px;letter-spacing:-1px}.identity-brand p{font-size:12px}.identity-brand-foot{padding-top:150px;font-size:9px}.identity-panel{position:relative;background:linear-gradient(135deg,#fffdf9 0%,#fbfbfc 48%,#f4f4f7 100%);isolation:isolate}.identity-panel:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.15' filter='url(%23n)'/%3E%3C/svg%3E")}.identity-panel>header{padding:16px 24px;min-height:48px}.identity-panel>header>button{font-size:10px;padding:5px 9px;background:transparent}.identity-main{max-width:362px;padding:18px 26px 24px}.identity-heading{margin-bottom:24px}.identity-eyebrow{font-size:8px;margin-bottom:12px;letter-spacing:2px}.identity-heading h2{font-size:26px;letter-spacing:-.7px;margin-bottom:10px}.identity-heading p{font-size:12px;line-height:1.6}.identity-input{height:42px;padding-inline:12px;background:#ffffffc9;border:1px solid #e9e8e7;border-radius:8px;gap:9px}.identity-input input{font-size:12px}.identity-input>span{font-size:15px}.identity-input>button{font-size:10px;font-weight:600;white-space:nowrap;min-width:68px;color:#33333a}#identity-form,#identity-legacy{display:flex;flex-direction:column;gap:14px}#identity-form>label,#identity-legacy>label{font-size:11px;gap:7px;display:flex;flex-direction:column}.identity-primary{min-height:42px;font-size:12px;border-radius:8px;padding-inline:14px}.identity-primary>span{font-size:17px}.identity-divider{height:18px;text-align:center;display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:#aaaab0;font-size:10px}.identity-divider:before,.identity-divider:after{content:'';height:1px;background:#e7e6e7;flex:1}.identity-alternative{min-height:38px;border:1px solid #e2e1e3;border-radius:8px;width:100%;font-size:12px;font-weight:550;background:#ffffff48}.identity-security{margin-top:18px;font-size:9px;gap:6px}.identity-security svg{width:13px;height:15px}.identity-panel>footer{font-size:8px;padding:12px 24px}.identity-other{margin-top:10px;font-size:9px;color:#a1a1a8}.identity-other summary{cursor:pointer;list-style:none;width:max-content}.identity-other button{padding:8px 0;color:#777780}.identity-qr #identity-qr-frame{width:180px;height:180px;border-radius:12px;padding:10px}.identity-qr canvas{width:160px!important;height:160px!important}.identity-qr{gap:10px}#identity-qr-status{font-size:10px}#identity-qr-note p{font-size:9px!important}#identity-qr-note button{font-size:9px;padding:5px}.identity-qr>p{font-size:11px}.identity-confirm-device{margin-block:20px;padding:20px}.identity-confirm-device>strong{font-size:16px}.identity-code{font-size:30px}.identity-result h2{font-size:25px}.identity-result p{font-size:12px}@media(max-width:700px){.identity-screen{grid-template-columns:1fr}.identity-brand{display:none}.identity-main{max-width:390px;padding-inline:28px}.identity-heading h2{font-size:27px}.identity-panel>header>b{visibility:visible}.identity-panel>header{padding-inline:24px}.identity-panel>footer{padding-inline:24px}}@media(min-width:701px){.identity-brand{display:block}.identity-panel>header>b{visibility:hidden}}@media(prefers-reduced-motion:reduce){.identity-art,.identity-orbit i{animation:none}}
/* Shared compact web dialogs keep long bodies scrollable without empty fixed space. */
.modal{width:min(420px,calc(100vw - 32px));max-width:420px;max-height:calc(100dvh - 48px);overflow-y:auto;padding:24px;border-radius:16px}.modal-head{margin-bottom:18px;gap:16px}.modal-head h2{font-size:20px}.modal-description{font-size:12px;line-height:1.65;margin-bottom:16px}.modal .field input{min-height:40px}.modal .select-person{padding-block:10px}.modal .primary{min-height:36px}.modal .emoji-grid{max-height:240px;overflow-y:auto}@media(max-width:500px){.modal{padding:20px}}
.identity-art{inset:0;background-image:url('/brand/login-world-base.png');background-position:center;background-size:cover;animation:none;transform:none;will-change:auto}.identity-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.identity-brand-content{z-index:1}.identity-orbit{display:none}
.identity-qr #identity-qr-frame{width:210px;height:238px;gap:0;padding:0;overflow:hidden;border-radius:14px}.identity-qr canvas{width:168px!important;height:168px!important;padding:10px}.identity-qr-device{display:flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 16px;font-size:11px;color:#9999a0;box-sizing:border-box}.identity-qr-device span{font-size:9px}.identity-qr-device i{width:4px;height:4px;border-radius:50%;background:#777780;margin-left:auto}.identity-qr-code{background:#f5f5f6;width:100%;height:34px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#9999a1}.identity-qr-code b{letter-spacing:2px;color:#4b4b51;font-weight:550}#identity-copy{display:none}#identity-qr-status{font-size:10px;letter-spacing:0;color:#919199}#identity-qr-note .identity-note{font-size:8px!important}#identity-qr-frame>p{font-size:11px}#identity-qr-frame #identity-refresh{font-weight:600;font-size:11px;padding:10px}
.identity-scan-mode .identity-heading{text-align:center}.identity-scan-mode .identity-divider{display:none}.identity-scan-mode .identity-alternative{margin-top:16px}.identity-scan-mode .identity-security{display:none}
.identity-scan-mode .identity-alternative{width:214px;height:38px;min-height:38px;margin-left:auto;margin-right:auto;display:block}
.identity-language-picker{position:relative;z-index:4;min-width:0}.identity-language-picker summary{display:flex;align-items:center;gap:6px;padding:6px 8px;list-style:none;cursor:pointer;color:#77777e;font-size:11px;white-space:nowrap;border-radius:7px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.identity-language-picker summary::-webkit-details-marker{display:none}.identity-language-picker summary:hover,.identity-language-picker[open] summary{background:#25252806}.identity-language-chevron{font-size:11px;color:#aaa}.identity-language-options{position:absolute;right:0;top:calc(100% + 6px);width:190px;padding:6px;background:#fffffff5;border:1px solid #e8e8eb;border-radius:12px;box-shadow:0 8px 28px #2020240d;max-height:310px;overflow:auto;overscroll-behavior:contain;backdrop-filter:blur(16px)}.identity-language-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 11px;text-align:left;font-size:12px;color:#38383e;border-radius:6px;background:transparent}.identity-language-options button[aria-current=true]{font-weight:650;color:#252528;background:#f3f3f5}.identity-language-options button:hover{background:#f3f3f5}.identity-language-picker summary:focus-visible{outline:2px solid #cf2937;outline-offset:3px}.identity-brand h1{overflow-wrap:anywhere}.identity-heading h2{overflow-wrap:anywhere}
#identity-qr-status:empty{display:none}
