/* A pocket-sized welcome, shared by the first entry and passport recovery. */
.passport-registration-flow{
  --registration-blue:#1764c6;--registration-deep:#173f35;--registration-line:#dce3d4;
  background:#f8f7f0;color:#263f35;min-width:0;font-size:14px;isolation:isolate;
}
.passport-registration-flow *{box-sizing:border-box}
.passport-registration-flow .passport-registration-header{
  position:relative;text-align:center;padding:25px 25px 22px;overflow:hidden;
  background:radial-gradient(ellipse at 50% 42%,#e4e9d5 0,transparent 65%),#f8f7f0;
}
.passport-registration-flow .passport-registration-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;margin-bottom:4px}
.passport-registration-flow .passport-registration-brand{display:flex;gap:7px;align-items:center;color:var(--registration-deep);font-size:21px;font-weight:750;line-height:1;letter-spacing:-1px}
.passport-registration-flow .passport-registration-brand>.icon{width:31px;height:31px;stroke-width:1.4}
.passport-registration-flow .passport-registration-brand small{display:block;font-size:8px;font-weight:600;letter-spacing:2.5px;margin-top:4px}
.passport-registration-flow .passport-registration-step{font-size:8px;font-weight:650;letter-spacing:1.2px;line-height:1.7;color:#65785e;max-width:115px;text-align:right}
.passport-registration-flow .passport-registration-art{position:relative;height:217px;max-width:345px;margin:0 auto;color:#899e77;display:grid;place-items:center}
.passport-registration-flow .passport-registration-orbit{position:absolute;width:197px;height:197px;top:18px;left:calc(50% - 98.5px);border:1px solid #a6b68b40;border-radius:50%}
.passport-registration-flow .passport-registration-orbit:before{content:"";position:absolute;inset:14px;border:1px solid #a6b68b2b;border-radius:50%}
.passport-registration-flow .passport-registration-trail{position:absolute;width:100%;height:180px;inset:30px 0 auto;overflow:visible;opacity:.7}
.passport-registration-flow .passport-registration-book{position:relative;z-index:1;width:147px;height:193px;border:1px solid #3f6852;border-radius:5px 14px 14px 5px;transform:rotate(-10deg);background:linear-gradient(115deg,#2a5742,#193e31 80%);color:#e1dfb8;box-shadow:inset 5px 0 #153a2c,inset 7px 0 #5f7850,inset -2px 0 #2a5542,7px 14px 21px #193e312b;display:flex;align-items:center;flex-direction:column;padding:18px 14px 13px 21px;animation:passport-book-arrive .65s cubic-bezier(.22,.7,.22,1) both}
.passport-registration-flow .passport-registration-book:before{content:"";position:absolute;inset:9px 9px 9px 15px;border:1px solid #d6dcad4d;border-radius:2px 7px 7px 2px;pointer-events:none}
.passport-registration-flow .passport-registration-book:after{content:"";position:absolute;inset:0;background:url('../assets/contours.svg') 42% 50%/440px;opacity:.08;border-radius:inherit;pointer-events:none}
.passport-registration-flow .passport-registration-book-country{font-size:5px;letter-spacing:1.1px;line-height:1.5;white-space:nowrap}
.passport-registration-flow .passport-registration-book>strong{font-size:28px;font-weight:600;letter-spacing:1.1px;line-height:1;margin-top:15px;text-align:center}
.passport-registration-flow .passport-registration-book>strong>span{display:block;font-size:8px;letter-spacing:5px;padding-left:5px;margin-top:5px}
.passport-registration-flow .passport-registration-book-seal{height:47px;width:47px;border:1px solid #d2d9a478;border-radius:50%;display:grid;place-items:center;margin:13px 0 10px;position:relative}
.passport-registration-flow .passport-registration-book-seal:before{content:"";position:absolute;inset:-4px;border:1px dotted #d2d9a478;border-radius:50%}
.passport-registration-flow .passport-registration-book-seal>.icon{width:29px;height:29px;stroke-width:1.1}
.passport-registration-flow .passport-registration-book-label{font-size:8px;letter-spacing:2px;text-align:center;line-height:1.4}
.passport-registration-flow .passport-registration-book-label>small{display:block;font-size:5px;letter-spacing:1.7px;margin-top:3px}
.passport-registration-flow .passport-registration-book-rule{width:25px;height:3px;border-top:1px solid #d2d9a4;border-bottom:1px solid #d2d9a4;margin-top:8px}
.passport-registration-flow .passport-registration-art-note{position:absolute;left:0;top:81px;font:italic 12px/1.5 Georgia,serif;transform:rotate(-9deg);color:#64775d;text-align:left;max-width:80px}
.passport-registration-flow .passport-registration-art-stamp{position:absolute;z-index:2;right:3px;bottom:23px;width:79px;height:79px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1.5px dashed #769b87;border-radius:50%;background:#f7f8f0ed;color:#526e5b;box-shadow:0 0 0 5px #f8f7f0b3;transform:rotate(12deg);font:400 31px/1 Georgia,serif}
.passport-registration-flow .passport-registration-art-stamp>small{font:600 5px/1.5 Arial,sans-serif;letter-spacing:1px}
.passport-registration-flow .passport-registration-header .section-kicker{display:block;color:#72825e;font-size:8px;letter-spacing:1.65px;line-height:1.7}
.passport-registration-flow .passport-registration-header h2{font:400 clamp(38px,10.8vw,46px)/1.01 Georgia,serif;color:var(--registration-deep);letter-spacing:-1.7px;margin:12px 0 13px;text-wrap:balance}
.passport-registration-flow .passport-registration-header h2>em{font-weight:400;color:#57734b}
.passport-registration-flow .passport-registration-header>p{margin:0 auto;color:#687663;font-size:13px;line-height:1.7}
.passport-registration-flow .passport-registration-body{padding:0 25px 27px;min-width:0}
.passport-registration-flow .passport-registration-target{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;margin:2px 0 20px;border:1px solid #d4e1ed;border-radius:13px;background:#edf3f9;min-width:0}
.passport-registration-flow .passport-registration-target>.icon{height:20px;width:20px;flex:none;color:#3a71a9;margin-top:3px}
.passport-registration-flow .passport-registration-target>div{min-width:0}
.passport-registration-flow .passport-registration-target span{display:block;font-size:9px;font-weight:650;letter-spacing:1px;text-transform:uppercase;color:#55748a;margin-bottom:4px}
.passport-registration-flow .passport-registration-target strong{display:block;font-size:13px;font-weight:650;line-height:1.5;color:#294e70;overflow-wrap:anywhere}
.passport-registration-flow .passport-registration-target small{display:block;font-size:10px;line-height:1.6;color:#667e8d;margin-top:4px}
.passport-registration-flow .passport-registration-access{padding:21px 20px 17px;background:#fffefa;border:1px solid #dfe5d6;border-radius:21px;box-shadow:0 8px 35px #173f3506;min-width:0}
.passport-registration-flow .passport-registration-access-heading h3{font:400 23px/1.15 Georgia,serif;letter-spacing:-.5px;margin:0 0 9px;color:var(--registration-deep)}
.passport-registration-flow .passport-registration-intro{font-size:13px;line-height:1.65;color:#6c7865;margin:0}
.passport-registration-flow .passport-registration-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:#53644e;margin:13px -2px 12px;padding:12px 2px;min-height:48px;cursor:pointer}
.passport-registration-flow .passport-registration-consent>input{width:21px;height:21px;min-height:21px;flex:none;margin:0;accent-color:var(--registration-deep);cursor:pointer}
.passport-registration-flow .passport-registration-consent>input:focus-visible{outline:2px solid var(--registration-blue);outline-offset:4px}
.passport-registration-flow .passport-registration-consent a{color:#175d4d;text-decoration:underline;text-underline-offset:3px}
.passport-registration-flow .button{background:var(--registration-blue);border-color:var(--registration-blue);color:white;min-height:48px;border-radius:12px;font-size:12px;max-width:100%;white-space:normal}
.passport-registration-flow .button:disabled{cursor:default}
.passport-registration-flow .button.outline{background:transparent;color:var(--registration-deep);border-color:#cbd8c6}
.passport-registration-flow .button:focus-visible{outline:3px solid #1764c64d;outline-offset:4px}
.passport-registration-flow .passport-registration-primary{width:100%;font-size:12px;justify-content:center;padding:12px 10px}
.passport-registration-flow .passport-registration-primary>.icon{width:17px;height:17px;flex:none}
.passport-registration-flow .passport-registration-form{display:grid;gap:0;margin-top:19px;min-width:0}
.passport-registration-flow .passport-registration-field{display:grid;gap:8px;min-width:0;color:#354f40;font-size:12px;font-weight:650;line-height:1.5;margin:0 0 10px}
.passport-registration-flow .passport-registration-field>input{appearance:none;display:block;min-width:0;width:100%;max-width:100%;min-height:52px;padding:13px 14px;background:#fcfdf8;color:#183d30;border:1px solid #cdd8c5;border-radius:12px;font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;outline-offset:3px;box-shadow:inset 0 1px 2px #173f3504}
.passport-registration-flow .passport-registration-field>input:focus{border-color:var(--registration-blue);outline:2px solid #1764c62e}
.passport-registration-flow .passport-registration-field>input:read-only{background:#edf1e6;color:#65765c}
.passport-registration-flow .passport-registration-field>input:disabled{opacity:.65}
.passport-registration-flow .passport-registration-field-hint{font-size:10px;line-height:1.65;color:#73816a;margin:-2px 0 16px;overflow-wrap:anywhere}
.passport-registration-flow .passport-registration-password-toggle{display:flex;justify-content:flex-end;align-items:center;width:100%;min-height:48px;margin:-3px 0 7px;padding:9px 0;border:0;background:transparent;color:#38654d;font-family:inherit;font-size:11px;font-weight:600;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.passport-registration-flow .passport-registration-alternatives{display:grid;gap:0;margin:14px 0 0;border-top:1px solid #e2e8da;padding-top:7px}
.passport-registration-flow .passport-registration-alternatives>button,.passport-registration-flow .passport-registration-back{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:100%;padding:11px 4px;color:#38654d;background:transparent;border:0;font-family:inherit;font-size:12px;line-height:1.6;text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.passport-registration-flow .passport-registration-alternatives>button:first-child{font-weight:700;color:#194d3c;text-decoration:none}
.passport-registration-flow .passport-registration-alternatives>button>span{font-size:16px;text-decoration:none}
.passport-registration-flow .passport-registration-back{font-size:11px;margin-top:14px}
.passport-registration-flow .passport-registration-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0 0;color:#8a967f;font-size:9px;line-height:1.5}
.passport-registration-flow .passport-registration-steps>span{padding:9px 0;border-top:2px solid #e3e9db}
.passport-registration-flow .passport-registration-steps>.is-current{color:#2c674c;font-weight:700;border-color:#507c5c}
.passport-registration-flow .passport-registration-steps>.is-done{color:#678263;border-color:#afc5a3}
.passport-registration-flow :is(.passport-registration-password-toggle,.passport-registration-alternatives>button,.passport-registration-back):focus-visible{outline:2px solid var(--registration-blue);outline-offset:3px;border-radius:6px}
.passport-registration-flow :is(.passport-registration-password-toggle,.passport-registration-alternatives>button,.passport-registration-back):disabled{opacity:.55;cursor:default}
.passport-registration-flow:is([data-registration-phase="credentialssetup"],[data-registration-phase="reset"]) .passport-registration-art{height:156px}
.passport-registration-flow:is([data-registration-phase="credentialssetup"],[data-registration-phase="reset"]) .passport-registration-book{transform:rotate(-8deg) scale(.7);animation:none}
.passport-registration-flow:is([data-registration-phase="credentialssetup"],[data-registration-phase="reset"]) .passport-registration-orbit{width:139px;height:139px;top:12px;left:calc(50% - 69.5px)}
.passport-registration-flow:is([data-registration-phase="credentialssetup"],[data-registration-phase="reset"]) .passport-registration-art-stamp{width:59px;height:59px;font-size:23px;bottom:12px;right:16px}
.passport-registration-flow:is([data-registration-phase="credentialssetup"],[data-registration-phase="reset"]) .passport-registration-art-stamp>small{font-size:4px}
.passport-registration-flow:is([data-registration-phase="credentialssetup"],[data-registration-phase="reset"]) .passport-registration-art-note{top:65px;font-size:10px}
.passport-registration-flow:is([data-registration-phase="credentialssetup"],[data-registration-phase="reset"]) .passport-registration-trail{height:133px;top:19px}
/* Google's own button remains intact; its width is measured before rendering. */
.passport-registration-flow .passport-registration-google{min-height:48px;display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;min-width:0;overflow:visible}
.passport-registration-flow .passport-registration-google>div{max-width:100%;min-width:0}
.passport-registration-flow .passport-registration-google iframe{max-width:100%;border:0}
.passport-registration-flow .passport-registration-google-placeholder{min-height:48px;padding:12px 14px;max-width:320px;width:100%;font-family:inherit;font-size:14px;font-weight:600;color:#65745e;background:#f1f3e9;border:1px solid #d8e1cd;border-radius:10px;cursor:default;line-height:1.5}
.passport-registration-flow .passport-registration-consent-note{text-align:center;font-size:10px;color:#758267;line-height:1.6;margin:10px 0 0}
.passport-registration-flow .passport-registration-security{display:flex;justify-content:center;align-items:flex-start;gap:5px;font-size:9px;line-height:1.6;color:#819073;margin:15px 0 0;text-align:center}
.passport-registration-flow .passport-registration-security>.icon{height:12px;width:12px;flex:none;margin-top:1px}
.passport-registration-flow .passport-registration-error{font-size:12px;line-height:1.7;border:1px solid #ebd4c5;border-radius:11px;background:#faf0e7;color:#893a24;padding:13px 14px;margin:16px 0 0;overflow-wrap:anywhere}
.passport-registration-flow .passport-registration-status{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;line-height:1.7;color:#587158;margin:14px 0}
.passport-registration-flow .passport-registration-status:before{content:"";width:13px;height:13px;flex:none;border:1.5px solid #cdd8c3;border-top-color:#3d6a48;border-radius:50%;animation:passport-loading .8s linear infinite}
.passport-registration-flow .passport-registration-unavailable{background:#f4eedc;border:1px solid #e5d9b8;padding:14px;border-radius:12px;margin:17px 0 0;color:#725828;font-size:12px;line-height:1.7}
.passport-registration-flow .passport-registration-unavailable p{font-size:11px;margin:8px 0 12px}
.passport-registration-flow .passport-registration-unavailable>.button{font-size:11px;min-height:48px;padding:10px 12px}
.passport-registration-flow .passport-registration-demo{font-size:11px;line-height:1.7;padding:11px 12px;background:#f3ecda;border-radius:10px;color:#765f33;margin:15px 0 0}
.passport-registration-flow .passport-registration-success{text-align:center;padding:9px 0;color:#185fae;font-size:13px;line-height:1.7}
.passport-registration-flow .passport-registration-success>span{height:51px;width:51px;border-radius:50%;display:grid;place-items:center;background:#e5effc;box-shadow:0 0 0 6px #f0f5fd;margin:3px auto 20px}
.passport-registration-flow .passport-registration-success>span>.icon{height:26px;width:26px}
.passport-registration-flow .passport-registration-success>strong{display:block;font:400 26px/1.2 Georgia,serif}
.passport-registration-flow .passport-registration-success>p{font-size:12px;line-height:1.7;color:#617b94;margin:12px 0 0}
.passport-registration-flow .passport-registration-preview{display:flex;justify-content:center;align-items:flex-start;max-width:292px;margin:29px auto 0}
.passport-registration-flow .passport-registration-preview>div{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:65px;flex:none}
.passport-registration-flow .passport-registration-preview>div>span{width:38px;height:38px;border:1px dashed #b7c4a8;border-radius:50%;display:grid;place-items:center;color:#91a081;background:#f2f3e9;font:400 20px Georgia,serif}
.passport-registration-flow .passport-registration-preview>div:first-child>span{background:#e7ecdd;color:#4e6b46;border:1px solid #b5c4a0;transform:rotate(-9deg)}
.passport-registration-flow .passport-registration-preview>div:first-child .icon{height:19px;width:19px}
.passport-registration-flow .passport-registration-preview small{font-size:8px;line-height:1.5;color:#78876c;text-align:center;white-space:nowrap}
.passport-registration-flow .passport-registration-preview>i{height:1px;flex:1;min-width:6px;border-top:1px dashed #bdcbb1;margin-top:18px}
.passport-registration-flow .passport-registration-footnote{margin:19px 0 0;font-size:11px;line-height:1.8;color:#748168;text-align:center}
.passport-registration-flow .passport-registration-privacy{display:flex;align-items:center;justify-content:center;min-height:48px;margin:5px 0 0;color:#3e624d;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.passport-registration-flow .passport-registration-bottom{display:block;text-align:center;font-size:6px;font-weight:650;letter-spacing:1.25px;color:#9ba68d;margin:25px 0 0;line-height:1.8}

/* A full phone screen for the initial gate, including desktop phone previews. */
#detail-dialog.passport-entry-dialog{inset:0;margin:0 auto;width:min(100%,480px);max-width:100%;height:100vh;height:100dvh;max-height:100dvh;border:0;border-radius:0;box-shadow:0 0 90px #173f351f;background:#f8f7f0;overflow-y:auto;overflow-x:hidden;padding:0;scrollbar-width:thin}
#detail-dialog.passport-entry-dialog::backdrop{background:#e9ede0;backdrop-filter:none}
#detail-dialog.passport-entry-dialog #dialog-content{min-height:100%;padding:0}
#detail-dialog.passport-entry-dialog .passport-registration-entry{min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}
#detail-dialog.passport-entry-dialog .passport-registration-body{flex:1;padding-bottom:calc(25px + env(safe-area-inset-bottom))}
#detail-dialog.passport-entry-dialog.passport-entry-required .dialog-close{display:none}
.passport-registration-flow:not(.passport-registration-entry){max-width:480px;margin:0 auto}
.passport-registration-flow:not(.passport-registration-entry) .passport-registration-topline{padding-right:25px}
@media(max-width:360px){
  .passport-registration-flow .passport-registration-header{padding:20px 19px 20px}
  .passport-registration-flow .passport-registration-body{padding-left:19px;padding-right:19px}
  .passport-registration-flow .passport-registration-art{height:199px}
  .passport-registration-flow .passport-registration-book{transform:rotate(-9deg) scale(.92)}
  .passport-registration-flow .passport-registration-art-note{left:-2px;font-size:10px;max-width:68px}
  .passport-registration-flow .passport-registration-art-stamp{right:-2px;width:65px;height:65px;font-size:25px}
  .passport-registration-flow .passport-registration-art-stamp>small{font-size:4.5px}
  .passport-registration-flow .passport-registration-access{padding:19px 16px 16px;border-radius:18px}
  .passport-registration-flow .passport-registration-access-heading h3{font-size:22px}
  .passport-registration-flow .passport-registration-intro{font-size:12px}
  .passport-registration-flow .passport-registration-consent{gap:9px;font-size:12px}
  .passport-registration-flow .passport-registration-step{font-size:7px;letter-spacing:1px;max-width:100px}
}
@keyframes passport-book-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes passport-loading{to{transform:rotate(360deg)}}
.passport-registration-flow .passport-registration-choices{display:grid;gap:12px;margin-top:20px}
.passport-registration-flow .passport-registration-choice{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:76px;padding:14px;border:1px solid var(--registration-deep);border-radius:15px;background:var(--registration-deep);color:#fffefa;font:inherit;text-align:left;cursor:pointer;transition:background .18s,border-color .18s}
.passport-registration-flow .passport-registration-choice>span:nth-child(2){flex:1;min-width:0}
.passport-registration-flow .passport-registration-choice strong{display:block;font-size:16px;font-weight:700;line-height:1.4}
.passport-registration-flow .passport-registration-choice small{display:block;font-size:11px;line-height:1.5;margin-top:3px;opacity:.85}
.passport-registration-flow .passport-registration-choice>.icon{width:18px;height:18px;flex:none}
.passport-registration-flow .passport-registration-choice-icon{display:grid;place-items:center;width:35px;height:35px;flex:none;border:1px solid #fffefa50;border-radius:11px;background:#fffefa0d}
.passport-registration-flow .passport-registration-choice-icon>.icon{width:20px;height:20px}
.passport-registration-flow .passport-registration-choice-create{background:#f0f4e8;color:var(--registration-deep);border-color:#becdb0}
.passport-registration-flow .passport-registration-choice-create .passport-registration-choice-icon{border-color:#becdb0;background:#e4ecdb}
.passport-registration-flow .passport-registration-choice:focus-visible{outline:3px solid var(--registration-blue);outline-offset:4px}
.passport-registration-flow .passport-registration-choice:disabled{opacity:.55;cursor:default}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-header{padding-top:18px;padding-bottom:18px}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-art{height:116px}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-book{transform:rotate(-10deg) scale(.58)}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-orbit{width:108px;height:108px;top:4px;left:calc(50% - 54px)}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-trail{height:106px;top:6px}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-art-note{top:30px;font-size:10px}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-art-stamp{bottom:14px;width:57px;height:57px;font-size:23px}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-art-stamp>small{font-size:4px}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-header h2{font-size:36px;margin:8px 0 0}
.passport-registration-flow[data-registration-phase="welcome"] .passport-registration-header>p{display:none}
@media(prefers-reduced-motion:reduce){.passport-registration-flow *{animation:none!important;transition:none!important}}
