:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;background:light-dark(#edf0f3,#14191e)}
body{margin:0}button,a,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid light-dark(#346d62,#a5d9b8);outline-offset:3px}
#app{min-height:calc(100svh - 180px);border-radius:0;overflow:visible}#app .loading{padding:80px 24px;text-align:center}#app .brand{display:block;font-size:28px;font-weight:500;letter-spacing:-1px;margin-bottom:32px}
#app .auth-shell{max-width:390px;margin:0 auto;padding:60px 24px}#app .auth-shell h1{font-size:27px;margin:14px 0}#app .auth-shell .eyebrow{font-size:10px}#app .auth-tabs{display:flex;gap:4px;padding:5px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:28px;margin:26px 0 20px;backdrop-filter:blur(18px)}#app .auth-tabs button{flex:1;border:0;border-radius:24px;background:transparent}#app .auth-tabs .active{background:var(--panel);color:var(--ink);box-shadow:0 3px 12px var(--glass-shadow)}
#app .tiny{font-size:11px}#app .center{text-align:center}#app .text-button{background:transparent;border:0;display:block;margin:12px auto;font-size:12px;color:var(--sub)}#app .error{padding:13px 16px;color:light-dark(#8c2525,#ffbaba);background:light-dark(#fff0f0,#412b2b);border-radius:14px;margin:12px 0;font-size:13px}#app .success{padding:13px 16px;border-radius:14px;background:light-dark(#e1eee5,#263f31);color:var(--ink);margin:12px 0;font-size:13px}
#app label{font-size:13px}#app input,#app textarea{min-width:0}#app button:disabled{opacity:.55;cursor:wait}#app .wide{margin-top:14px}#app .primary{background:var(--brand);color:var(--onbrand);border-color:var(--brand)}#app .empty{padding:28px 24px}#app .pass-details p{margin-top:6px}#app .contact-list{display:grid;gap:14px;overflow-wrap:anywhere;padding:12px 0}#app .contact-list a{color:var(--ink);display:block;text-decoration:none;margin-top:3px}#app .contact-list .muted{font-size:11px}#app .pass-content a:hover{text-decoration:underline}
#app .wallet-page-heading h1{font-size:29px}#app .owner-monogram{width:48px;font-size:12px}#app .wallet{touch-action:pan-y}#app .wallet-pass{isolation:isolate}#app .pass-stack>.wallet-pass+.wallet-pass{margin-top:-96px}#app .pass-stack>.selected-pass{z-index:2}#app .pass-content{overflow-wrap:anywhere}#app .qr-box{color:#111;background:#fff!important;border-radius:12px}#app #card-qr{min-height:176px;display:grid;place-items:center}#app #card-qr svg{display:block;width:176px;height:176px}#app .glass-language button{min-height:36px}
#app .person{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;margin:10px 0;background:var(--panel)}#app .person strong{font-weight:500}#app .initial{background:var(--bg)}#app .person>span:last-child{min-width:0;overflow-wrap:anywhere}#app .group+.group{margin-top:28px}#app .gps-record a{color:var(--ink);font-size:12px}#app .scan-area{position:relative;padding:25px 16px;text-align:center;overflow:hidden}#app #scanner-video{display:block;width:100%;border-radius:16px;max-height:350px}#app #scanner-video:not([src]):not([srcObject]){min-height:100px}#app .public-header{display:flex;justify-content:space-between;align-items:center;max-width:500px;margin:auto;padding:24px}#app .public-identity h1{font-size:30px;margin:26px 0 10px}#app .public-save{width:100%;border:0}#app .public-save-note{margin:12px 0 22px}#app .social-links{overflow-wrap:anywhere}#app .social-row{padding-bottom:16px}#app .check-row input{flex:none}#app .social-row label{margin-bottom:8px}#app .social-row label input{margin-top:5px}#app .paper form h3{margin-top:22px}
@media(max-width:380px){#app .auth-shell{padding:36px 20px}#app .pass-top{font-size:11px}#app .pass-owner{font-size:26px}#app .heading-actions{gap:6px}}

#app .signup-policy{margin:20px 0 10px}#app .signup-policy label{font-size:12px;align-items:flex-start}#app .signup-policy a{color:var(--ink);text-underline-offset:3px}#app .signup-policy input{margin-top:2px}

#app .ad-slot{display:block;box-sizing:border-box;position:relative;margin:18px 0 26px;padding:20px 22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(115deg,light-dark(#f2f5e9,#29352a),light-dark(#eef5f1,#26352e));overflow:hidden;min-height:104px;box-shadow:0 5px 18px #20352c04}#app .ad-label{position:absolute;right:14px;top:10px;font-size:9px;letter-spacing:.7px;color:var(--sub);border:1px solid var(--line);border-radius:4px;padding:0 4px}#app .ad-placeholder{display:flex;align-items:center;gap:16px;padding-right:15px}#app .ad-spark{font-size:28px;color:var(--brand);flex-shrink:0}#app .ad-placeholder strong{font-size:14px;font-weight:600;display:block}#app .ad-placeholder p{font-size:11px;color:var(--sub);margin:5px 0 0}#app .ad-binder{margin:24px 0}#app .translation-reminder{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;margin:12px 0;background:light-dark(#f5f0e5,#363126);border:1px solid light-dark(#e8ddc5,#5e5134);border-radius:16px}#app .translation-reminder strong{font-size:13px}#app .translation-reminder p{font-size:12px;margin:4px 0}#app .translation-reminder button{flex-shrink:0;font-size:12px;padding:9px 12px}#app .language-list{margin:22px 0}#app .language-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:16px 0}#app .language-row strong{display:block;font-size:15px;margin-bottom:4px}#app .language-row span{display:block}#app .glass-language{display:flex;flex-wrap:wrap;gap:5px;max-width:100%}#app .glass-language button{font-size:11px;padding:7px 9px}#app .share-bar{flex-wrap:wrap;gap:10px}#app #additional-language{flex:1;min-width:0;width:auto}#app .pass-tools{flex-wrap:wrap}#app .translation-reminders{margin-bottom:22px}#app .translation-reminders:empty{display:none}@media(max-width:400px){#app .translation-reminder{align-items:flex-start;flex-direction:column}#app .ad-slot{padding:22px 18px}#app .ad-placeholder strong{font-size:13px}#app .ad-placeholder{gap:12px}}

/* One continuous glass canvas with aligned content and footer. */
body:not(.info-page){min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 5% 0%,light-dark(#d4e2dc,#243e39),transparent 55%),radial-gradient(ellipse at 95% 45%,light-dark(#e1e0f1,#2c2b42),transparent 52%),light-dark(#edf0f3,#14191e);background-attachment:fixed}
body:not(.info-page) #app{flex:1;width:100%;min-height:0;background:transparent}
body[data-screen=auth] #app,body[data-screen=loading] #app{display:flex;justify-content:center;align-items:center;padding:28px 24px 18px;box-sizing:border-box}
#app .auth-shell{width:508px;max-width:100%;margin:0 auto;padding:28px 24px 24px}
#app .auth-shell .brand{font-size:30px;margin-bottom:24px}
#app .auth-shell h1{font-size:28px;letter-spacing:-.7px;margin:12px 0}
#app .auth-shell .auth-tabs{margin:25px 0 22px;box-shadow:inset 0 1px 0 var(--glass-edge),0 8px 24px var(--glass-shadow)}
#app .auth-shell input{min-height:46px;background:light-dark(#ffffffbd,#202b31bf);border-color:light-dark(#d7dfdd,#43524e);border-radius:12px;box-shadow:inset 0 1px 0 light-dark(#ffffffd9,#ffffff08)}
#app .auth-shell button[type=submit]{min-height:46px;border-radius:13px}
#app .auth-shell .text-button{margin:16px auto 0}
#app main{max-width:600px}
#app .shell>aside{width:100%;max-width:1040px;box-sizing:border-box;margin:auto}
#app .public-header{max-width:600px;box-sizing:border-box;width:100%}
body:not(.info-page) #site-footer{width:100%;margin:0 auto}
body:not(.info-page) .site-footer{max-width:600px;padding:26px 24px 28px;border-top-color:light-dark(#ced9d3,#3a4841)}
body[data-screen=auth] .site-footer,body[data-screen=loading] .site-footer{max-width:508px;border-top:0;padding:18px 24px 28px;text-align:center}
body[data-screen=auth] .site-footer .footer-brand,body[data-screen=loading] .site-footer .footer-brand{display:none}
body[data-screen=auth] .site-footer nav,body[data-screen=loading] .site-footer nav{justify-content:center;gap:9px 14px;font-size:11px;margin-bottom:16px}
body[data-screen=auth] .footer-meta,body[data-screen=loading] .footer-meta{justify-content:center;gap:6px 16px;font-size:10px}
@media(max-width:520px){body[data-screen=auth] #app,body[data-screen=loading] #app{padding:20px 0 12px}#app .auth-shell{padding:24px 24px 18px}#app .auth-shell h1{font-size:25px}body:not(.info-page) .site-footer{padding-left:24px;padding-right:24px}}
@media(max-height:700px) and (min-width:761px){#app .auth-shell{padding-top:12px;padding-bottom:12px}body[data-screen=auth] #app{padding-top:16px;padding-bottom:8px}}

/* Centered product chrome shared before and after sign-in. */
#site-chrome{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:600px;margin:32px auto 0;padding:0 24px 12px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif}
#site-chrome .chrome-brand{font-size:23px;font-weight:600;letter-spacing:-.9px;color:light-dark(#182a2c,#ecf2f2);text-decoration:none;white-space:nowrap}
#site-chrome .chrome-brand span{font-size:15px;font-weight:400;color:light-dark(#657577,#acbabc)}
body[data-screen=auth] #site-chrome,body[data-screen=loading] #site-chrome{max-width:508px}
body[data-screen=auth] #site-chrome .chrome-brand,body[data-screen=loading] #site-chrome .chrome-brand{visibility:hidden}
#app .shell{min-height:0}
#app .shell>aside{display:flex;justify-content:center;width:100%;max-width:600px;padding:8px 24px 22px;margin:0 auto;gap:0}
#app .shell>aside>.logo,#app .shell>aside>.chrome-caption{display:none}
#app .shell>aside nav{width:100%;max-width:460px;justify-content:center;margin:0 auto}
#app .shell>aside nav button{flex:1;text-align:center;padding:11px 12px}
#app main{padding-top:20px}
body:not(.info-page) .site-footer{max-width:508px;border:0;text-align:center;padding:20px 24px 28px}
body:not(.info-page) .site-footer .footer-brand{display:none}
body:not(.info-page) .site-footer nav{justify-content:center;gap:9px 14px;font-size:11px;margin-bottom:16px}
body:not(.info-page) .footer-meta{justify-content:center;gap:6px 16px;font-size:10px}
body[data-screen=public] #app .public-header .logo{display:none}
@media(max-width:520px){#site-chrome{margin-top:20px;padding:0 20px 8px}#app .shell>aside{padding:8px 20px 18px}#app .shell>aside nav{margin:0}#app .shell>aside nav button{padding:10px 6px;font-size:12px}#app main{padding-top:14px}}

#app .ad-live{padding:28px 18px 18px;min-height:0}
#app .ad-frame-target{height:var(--ad-height,280px);width:100%}
#app .ad-live .ad-placeholder{position:absolute;inset:28px 18px 18px;justify-content:center;pointer-events:none}
#app .ad-ready .ad-placeholder{display:none}
#app .ad-unavailable .ad-frame-target{height:64px}
#wallet-ad-portal{position:absolute;z-index:1;overflow:hidden;border-radius:12px;pointer-events:none}
#wallet-ad-portal iframe{display:block;width:100%;height:100%;border:0;background:transparent;pointer-events:auto}
#wallet-ad-portal[hidden]{display:none}
