/* Excelxtr: open composition, brand colors and a focused form. */
:root{--blue:#3168ef;--line:#e2e8f2;color:#122c50;background:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif}
body{min-height:100vh;background:radial-gradient(ellipse at 13% 40%,#e6f7ff 0,transparent 39%),radial-gradient(ellipse at 56% 100%,#eff0ff 0,transparent 46%),#fff}
header{height:88px;background:transparent;border:0;padding-inline:max(32px,calc((100vw - 1160px)/2))}
.brand{font-size:25px;letter-spacing:-.7px;gap:9px}.brand img{width:37px;height:37px}
#language{border:0;background:transparent;font-size:13px;font-weight:600;padding:12px}
main{max-width:1120px;margin:64px auto 90px;padding:0 32px}
.layout{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:100px;align-items:center;min-height:520px}
.intro{padding:15px 0 40px;max-width:470px}.auth-brandmark{object-fit:contain;display:block;margin:0 0 30px;filter:drop-shadow(0 12px 18px #236bce19)}
.intro h2{font-size:clamp(38px,4.5vw,60px);line-height:1.12;letter-spacing:-2.5px;margin:0 0 25px;font-weight:700}.intro h2 span{display:block;color:#326bec}
.intro>.muted{max-width:340px;font-size:16px;line-height:1.85;color:#5b6c84;margin:0 0 34px}
.intro-guest{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:600;text-decoration:none;color:#1f477c;padding:9px 0;border-bottom:1px solid #aabfd9}.intro-guest:hover{color:#235be0}
.auth-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.auth-tabs{display:flex;gap:24px;margin-bottom:32px;border-bottom:1px solid var(--line)}.auth-tabs a{padding:10px 0 15px;margin-bottom:-1px;font-size:14px;text-decoration:none;color:#66758a;font-weight:600;border-bottom:2px solid transparent}.auth-tabs a[aria-current]{border-color:var(--blue);color:#265ee0}
.auth-card h1{font-size:28px;letter-spacing:-.8px;margin:0 0 10px}.auth-card h1:focus{outline:none}.auth-description{font-size:14px;color:#64748b;line-height:1.7;margin:0 0 26px}
.field{font-size:13px;font-weight:600;color:#314661;margin-top:20px}.field input{margin-top:9px;min-height:54px;border:1px solid #e8edf5;border-radius:10px;background:#f2f5fa;font-size:15px;padding:15px 16px;transition:background .15s,border-color .15s}.field input:hover{border-color:#c8d4e5}.field input:focus{background:#fff;border-color:#5884ed;outline:2px solid #3168ef1a;outline-offset:0}
.password-control{position:relative;display:block}.password-control input{width:100%;padding-right:70px}.password-control button{position:absolute;right:6px;top:6px;bottom:6px;margin:0;border:0;background:transparent;font-size:11px;color:#49617d;padding:6px 9px}
.form-action{min-height:52px;border-radius:10px;font-size:15px;margin-top:22px;box-shadow:0 9px 20px #3168ef22}.form-action:hover{box-shadow:0 7px 16px #3168ef30}
.auth-card .links{font-size:12px;line-height:1.7}.recovery-link{justify-content:flex-end;margin-top:13px}.recovery-link a{text-decoration:none}.recovery-link a:hover{text-decoration:underline}
.auth-switch{font-size:13px;color:#65758a;text-align:center;margin:25px 0 0!important}.auth-switch a{font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}
.hint{font-size:12px;font-weight:400}.message{font-size:13px}.guest-footer{display:flex;justify-content:flex-end;gap:24px;margin-top:48px;font-size:12px;color:#63748a}.guest-footer a{color:inherit;text-decoration:none}
.provider-access{margin:0 0 16px}.google-action{width:100%;min-height:48px;background:white;font-size:14px;font-weight:600}.provider-status:empty{display:none}.auth-divider{display:flex;align-items:center;gap:15px;color:#6b7c93;font-size:12px;margin:22px 0}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}
.card:not(.auth-card){box-shadow:none;border-radius:12px}.account-nav a{font-size:13px}
@media(max-width:850px){.layout{gap:45px;grid-template-columns:minmax(0,1fr) minmax(0,380px)}.intro h2{font-size:42px;letter-spacing:-1.5px}}
@media(max-width:680px){header{height:72px;padding-inline:24px}.brand{font-size:23px}main{max-width:460px;margin:20px auto 100px;padding:0 26px}.layout{display:flex;flex-direction:column;gap:28px;align-items:stretch;min-height:0}.intro{padding:0}.auth-brandmark{display:none}.intro h2{font-size:30px;letter-spacing:-1px;margin:0 0 10px}.intro h2 span{display:inline;margin-left:7px}.intro>.muted{font-size:13px;line-height:1.7;margin:0 0 10px}.intro-guest{font-size:12px;gap:9px;padding:5px 0}.auth-tabs{margin-bottom:24px}.auth-card h1{font-size:25px}.auth-description{font-size:13px;margin-bottom:20px}.guest-footer{justify-content:center;margin-top:30px}.field input{min-height:50px}}
@media(prefers-reduced-motion:reduce){.field input{transition:none}}

/* Reference-led edition: framed surface, original 3D illustration, layered workspace link. */
:root{background:radial-gradient(ellipse at 5% 30%,#e2f4fd,transparent 55%),radial-gradient(ellipse at 95% 85%,#e8e7fc,transparent 55%),#f1f3fa}
body{max-width:1320px;min-height:0;margin:32px auto;border:1px solid #fff;border-radius:30px;background:#fff;box-shadow:0 28px 80px #334b8a12;overflow:clip}
header{height:92px;padding:0 54px;border-bottom:1px solid #f0f3f8}
#language{background:#f6f8fc;border:1px solid #e7edf6;border-radius:24px;padding:10px 22px}
main{max-width:none;margin:0;padding:0}
.layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:0;min-height:660px;align-items:stretch}
.intro{position:relative;isolation:isolate;max-width:none;padding:54px 54px 34px;overflow:hidden;background:radial-gradient(ellipse at 35% 35%,#dff6ff 0,transparent 60%),linear-gradient(150deg,#fbfcff,#f1f4ff)}
.intro:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;opacity:.45;background:repeating-radial-gradient(ellipse at -20% 115%,transparent 0 42px,#ccd9ed 43px 44px,transparent 45px 69px);mask-image:linear-gradient(transparent 40%,#000)}
.intro h2{font-size:48px;line-height:1.12;letter-spacing:-1.9px;margin-bottom:18px}.intro>.muted{font-size:14px;line-height:1.8;max-width:350px;margin-bottom:0}
.auth-scene{position:relative;height:305px;margin:4px -30px 0}
.auth-illustration{display:block;position:absolute;width:100%;height:100%;object-fit:contain;object-position:center;inset:0}
.workspace-tile{position:absolute;left:4px;bottom:36px;display:flex;align-items:center;gap:10px;padding:14px 17px;background:#fff;border:1px solid #eaf0fa;border-radius:14px;color:#24436c;text-decoration:none;font-size:12px;font-weight:600;box-shadow:0 14px 28px #294b8417;transform:rotate(-5deg);transition:transform .15s}
.workspace-tile:hover,.workspace-tile:focus-visible{transform:rotate(0)}.workspace-tile img{object-fit:contain}.workspace-tile>span:last-child{margin-left:10px;color:#3168ef;font-size:17px}
.intro-guest{font-size:12px;margin-top:10px;border-color:#b8cbed}
.auth-card{padding:44px 64px 42px;align-self:center;background:#fff}
.auth-tabs{margin-bottom:28px}.auth-card h1{font-size:29px}.auth-description{margin-bottom:22px;font-size:13px}.field input{background:#f2f5fb;border-color:#edf0f7;border-radius:12px}.form-action{background:linear-gradient(110deg,#285be8,#456aff)!important;border:0;border-radius:12px;box-shadow:0 12px 22px #3168ef26}
.guest-footer{margin:0;padding:22px 54px;border-top:1px solid #eff2f8;background:#fff}
main>.account-nav,main>.card,main>.dashboard{margin:28px}
@media(min-width:1440px){body{margin-top:48px}}
@media(max-width:1370px){body{margin:24px;min-height:calc(100vh - 48px)}}
@media(max-width:1000px){header{padding-inline:32px}.intro{padding:40px 32px 28px}.auth-card{padding:38px 32px}.intro h2{font-size:39px}.auth-scene{height:270px;margin-inline:-20px}.workspace-tile{left:12px;bottom:16px;padding:11px;font-size:11px}.workspace-tile img{width:25px;height:25px}}
@media(max-width:680px){body{margin:12px;border-radius:22px;min-height:calc(100vh - 24px)}header{height:76px;padding-inline:22px}main{margin:0;padding:0;max-width:none}.layout{display:block;min-height:0}.intro{padding:26px 24px 20px}.intro h2{font-size:30px;margin-bottom:12px}.intro h2 span{display:block;margin:0}.intro>.muted{font-size:12px;max-width:260px}.auth-scene{height:180px;margin:0 0 -5px}.auth-illustration{object-position:right center}.workspace-tile{left:0;bottom:20px;max-width:180px;gap:7px}.workspace-tile>span:last-child{margin:0}.intro-guest{margin-top:0}.auth-card{padding:28px 24px 32px}.auth-tabs{margin-bottom:24px}.auth-card h1{font-size:25px}.guest-footer{padding:20px 24px}.brand{font-size:22px}.brand img{width:30px;height:30px}#language{padding:8px 13px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.workspace-tile{transition:none}}

/* Shared site shell: the account area now belongs to the same Excelxtr website. */
html{min-width:320px;background:#f4f7fc}
body{max-width:none;min-height:100vh;margin:0;border:0;border-radius:0;background:radial-gradient(circle at 10% 4%,#e7f5ff 0,transparent 34%),radial-gradient(circle at 92% 74%,#ecebff 0,transparent 42%),linear-gradient(180deg,#fff 0,#f5f7fb 100%);box-shadow:none;overflow-x:hidden;overflow-y:auto}
.site-shell{display:block;width:min(1180px,calc(100% - 32px));height:auto;margin:0 auto;padding:22px 0 0;background:transparent;border:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0 22px;border-bottom:1px solid #dce7f7}
.site-brand{display:flex;align-items:center;gap:12px;min-width:0;color:#10234a;text-decoration:none;border-radius:12px;transition:opacity .16s ease,transform .16s ease}
.site-brand:hover{opacity:.82}.site-brand:active{transform:translateY(1px)}
.site-logo{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;overflow:hidden;border-radius:12px}
.site-logo img{display:block;width:100%;height:100%;object-fit:contain;transform:none;transform-origin:center}
.site-brand-copy strong{display:block;font-size:16px;letter-spacing:.2px;white-space:nowrap}.site-brand-copy small{display:block;margin-top:2px;color:#64748b;font-size:12px;white-space:nowrap}
.nav-links{display:flex;align-items:center;justify-content:center;gap:8px;margin-left:auto}.nav-links a{padding:8px 10px;border:1px solid transparent;border-radius:8px;color:#2f63d9;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.nav-links a:hover{color:#10234a;background:#eaf1ff;border-color:#cddcf8;box-shadow:0 0 18px #3a78ff1f}
.nav-links a[aria-current="page"]{color:#10234a;background:#eef4ff;border-color:#d4e0f6}
.lang-toggle{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #e0e8f4;border-radius:999px;background:#fff;box-shadow:0 8px 20px #3168ef0d}.lang-btn{min-width:39px;min-height:34px;padding:7px 10px;border:0;border-radius:999px;background:transparent;color:#5c6b80;font-size:12px;font-weight:800}.lang-btn:hover{background:#eef4ff}.lang-btn.is-active{background:#3a78ff;color:#fff}.lang-btn:focus-visible{outline:2px solid #3168ef;outline-offset:2px}
#account{display:block;width:min(1180px,calc(100% - 32px));max-width:1180px;min-height:0;margin:28px auto 56px;padding:0;border:1px solid #fff;border-radius:30px;background:#fff;box-shadow:0 28px 80px #334b8a12;overflow:clip}
#account>.pending{min-height:360px;display:grid;place-items:center}

@media(max-width:1180px){.site-shell{width:min(1080px,calc(100% - 32px))}#account{width:min(1080px,calc(100% - 32px))}}
@media(max-width:920px){.nav-links{display:none}.topbar>.ex-account-entry{margin-left:auto}}
@media(max-width:680px){body{margin:0;border-radius:0;min-height:100vh}.site-shell{width:calc(100% - 24px);padding-top:10px}.topbar{min-height:64px;padding:5px 0 12px;gap:8px}.site-logo{width:46px;height:46px;flex-basis:46px}.site-brand-copy small{display:none}.site-brand-copy strong{font-size:15px}.topbar>.ex-account-entry{max-width:98px!important;min-height:34px;padding:7px 10px!important;font-size:11px!important}.lang-toggle{padding:3px}.lang-btn{min-width:34px;min-height:30px;padding:5px 8px;font-size:11px}#account{width:calc(100% - 24px);margin:16px auto 40px;border-radius:22px}}
@media(max-width:420px){.site-brand-copy{display:none}.topbar>.ex-account-entry{margin-left:auto}.site-logo{width:42px;height:42px;flex-basis:42px}}
@media(prefers-reduced-motion:reduce){.site-brand,.nav-links a{transition:none}}

/* Mobile account access is task-first: keep the desktop composition for wide screens,
   but do not stack its large presentation artwork above the form. */
@media(max-width:680px){
  #account .layout{display:flex;flex-direction:column;gap:0}
  #account .intro{padding:14px 18px;background:#f7faff;border-bottom:1px solid #e8eef8}
  #account .intro:before,#account .intro h2,#account .intro>.muted,#account .auth-scene{display:none}
  #account .intro-guest{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:0;padding:10px 14px;border:1px solid #d6e2f6;border-radius:12px;background:#fff;color:#2453c7;font-size:13px;font-weight:700;text-decoration:none}
  #account .auth-card{padding:26px 24px 32px}
}

/* Context-aware continuation: the account page returns visitors to their chosen tool. */
.workspace-tile{display:none!important}
.intro-guest{display:flex;align-items:center;gap:12px;width:min(100%,330px);margin-top:8px;padding:12px 14px;border:1px solid #d7e3f5;border-radius:13px;background:rgb(255 255 255 / 76%);color:#163d74;text-decoration:none;box-shadow:0 8px 24px #2b5aa00d;backdrop-filter:blur(8px);transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
.intro-guest:hover{border-color:#a9c2ef;background:#fff;color:#174fc2;transform:translateY(-1px);box-shadow:0 10px 25px #2b5aa017}
.intro-guest:focus-visible{outline:2px solid #3168ef;outline-offset:3px}
.guest-action-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#eaf1ff;color:#2b63df;font-size:18px;font-weight:700}
.guest-action-copy{display:block;min-width:0}.guest-action-copy strong,.guest-action-copy small{display:block}.guest-action-copy strong{font-size:13px;line-height:1.3}.guest-action-copy small{margin-top:3px;color:#667890;font-size:10.5px;font-weight:500;line-height:1.45}
@media(max-width:680px){#account .intro-guest{justify-content:flex-start;min-height:54px;padding:9px 11px;background:#fff}.guest-action-icon{width:32px;height:32px;flex-basis:32px}.guest-action-copy strong{font-size:12px}.guest-action-copy small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.intro-guest{transition:none}}

/* The continuation is a quiet text link, not a competing call-to-action. */
#account .intro-guest{display:inline-flex;width:auto;min-height:0;align-items:center;gap:8px;margin-top:8px;padding:7px 0;border:0;border-radius:0;background:transparent;color:#2453c7;box-shadow:none;backdrop-filter:none;text-decoration:underline;text-decoration-color:#b7c9ec;text-decoration-thickness:1px;text-underline-offset:6px;transition:color .16s ease,text-decoration-color .16s ease}
#account .intro-guest:hover{border:0;background:transparent;color:#174fc2;box-shadow:none;transform:none;text-decoration-color:#174fc2}
.guest-action-icon{display:inline;width:auto;height:auto;flex:0 0 auto;border-radius:0;background:transparent;color:currentColor;font-size:14px;font-weight:700}
.guest-action-copy strong{display:inline;font-size:12.5px;line-height:1.4;font-weight:650}.guest-action-copy small{display:none}
@media(max-width:680px){#account .intro-guest{display:inline-flex;width:auto;min-height:0;justify-content:flex-start;padding:7px 0;border:0;border-radius:0;background:transparent}.guest-action-icon{width:auto;height:auto;flex-basis:auto}.guest-action-copy strong{font-size:12px}}

/* Stable account shell: only the form panel changes between sign-in and registration. */
@media(min-width:681px){
  #account .layout{min-height:740px}
  #account .intro-guest{position:absolute;left:54px;bottom:34px;margin:0}
  #account .auth-card{display:flex;align-self:stretch;flex-direction:column;justify-content:center}
  #account .auth-card[data-route="register"]{padding-block:30px}
  #account .auth-card[data-route="register"] .field{margin-top:16px}
  #account .auth-card[data-route="register"] .auth-description{margin-bottom:18px}
  #account .auth-card[data-route="register"] .auth-switch{margin-top:18px!important}
}
.auth-panel-content{width:100%;animation:auth-panel-enter .2s cubic-bezier(.2,.75,.25,1) both}
@keyframes auth-panel-enter{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px) and (min-width:681px){#account .intro-guest{left:32px;bottom:28px}}
@media(max-width:680px){#account .intro-guest{position:static}.auth-panel-content{animation-duration:.16s}}
@media(prefers-reduced-motion:reduce){.auth-panel-content{animation:none}}
