/* SOMAGON. The entry fits a phone; enlarged text and open details may scroll naturally. */
.form-welcome{--fw-bg:var(--studio-bg,#0B0910);--fw-panel:var(--studio-panel,#15121D);--fw-line:var(--studio-border,#2E2B36);--fw-text:#F6F3FA;--fw-muted:var(--studio-muted,#B2ADBE);--fw-accent:var(--studio-lime,#7657FF);--fw-font:"Avenir Next",Avenir,"Century Gothic",Futura,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--fw-bg);color:var(--fw-text);min-height:100svh;min-height:100dvh;font-family:var(--fw-font);font-size:15px;color-scheme:dark;line-height:1.5}
.form-welcome,.form-welcome *{box-sizing:border-box}
.form-welcome :is(button,a,input,summary){-webkit-tap-highlight-color:transparent}
.form-welcome :is(button,a,input,summary):focus-visible{outline:2px solid var(--fw-accent);outline-offset:4px}
.form-welcome button{font:inherit;letter-spacing:0;cursor:pointer;white-space:normal;overflow-wrap:break-word;box-shadow:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.form-welcome button:disabled{opacity:.55;cursor:wait}
.form-welcome a{color:inherit;text-underline-offset:5px}
.form-welcome .fw-text-button{min-height:44px;padding:10px 8px;border:0;border-radius:9px;background:transparent;color:var(--fw-muted);font-size:14px;font-weight:400;line-height:24px}
.fw-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* No fixed height, hidden overflow or synthetic iPhone/browser chrome. */
body:has(.fw-entry-page){min-height:100svh;min-height:100dvh;background:#0B0910}
.form-welcome.fw-entry-page{--fw-bg:#0B0910;--fw-accent:#F6F3FA;--fw-muted:#B8B2C4;display:grid;align-items:center;padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));background:radial-gradient(ellipse at 50% 32%,#151319 0%,#0B0910 64%)}
.fw-entry{width:min(100%,360px);margin-inline:auto;text-align:center;min-width:0}
.fw-entry-identity{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:40px;color:#F7F4FC}
.fw-entry-mark{display:block;width:clamp(112px,32vw,136px);max-width:100%;height:auto;flex:none}
.form-welcome .fw-entry h1{position:relative;margin:0;font:400 1rem/1 var(--fw-font);letter-spacing:0;text-transform:none;max-width:100%}
.fw-brand-wordmark{display:block;width:200px;max-width:100%;height:auto}
.fw-role-actions{display:grid;gap:12px}
.form-welcome .fw-role-choice{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:14px 18px;background:linear-gradient(145deg,#1D1A22 0%,#121016 62%,#1A171F 100%);border:1px solid #958EA3;border-radius:14px;color:var(--fw-text);font:400 1.125rem/1.4 var(--fw-font);letter-spacing:.015em;text-transform:none;text-align:center;box-shadow:inset 0 1px 0 #ffffff12,inset 0 -1px 0 #ffffff04;touch-action:manipulation}
.form-welcome .fw-role-choice:active{background:#25222C;border-color:#F6F3FA;transform:scale(.99)}
.form-welcome.fw-entry-page .fw-text-button{font:400 1rem/1.5 var(--fw-font);letter-spacing:.01em}
.fw-demo-options{margin-top:0;font-size:14px;line-height:1.5}
.fw-demo-options>summary{display:flex;align-items:center;justify-content:center;gap:9px;width:fit-content;max-width:100%;margin-inline:auto;min-height:44px;padding:10px 6px;color:var(--fw-muted);cursor:pointer;border-radius:9px;list-style:none}
.fw-demo-options>summary::marker{content:""}
.fw-demo-options>summary::-webkit-details-marker{display:none}
.fw-demo-options>summary::before{content:"";width:0;height:0;flex:none;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;transition:transform .16s ease}
.fw-demo-options[open]>summary::before{transform:rotate(90deg)}
.fw-demo-options>div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding-top:8px}
.fw-demo-options button{min-height:44px;padding:10px 12px;border:1px solid var(--fw-line);border-radius:10px;background:transparent;color:var(--fw-muted);font-size:14px;font-weight:400;line-height:22px}
.fw-entry>.fw-demo-options{margin-top:4px;font-size:1rem}
.form-welcome.fw-entry-page .bd-entry-link{display:block;width:fit-content;max-width:100%;margin:6px auto 0;color:var(--fw-muted);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.fw-notice{margin:12px 0 0;padding:12px 14px;background:var(--fw-panel);color:var(--fw-text);border:1px solid var(--fw-line);border-radius:9px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;text-align:left}

/* Registration keeps the selected role and places optional help after the form. */
.fw-header{width:min(980px,calc(100% - 40px));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding-top:env(safe-area-inset-top,0px)}
.form-welcome .fw-wordmark{min-height:44px;padding:10px 0;background:none;border:0;color:var(--fw-text);font-size:24px;font-weight:800;line-height:1;letter-spacing:0}
.fw-wordmark .fw-brand-wordmark{width:90px}
.fw-auth-grid{width:min(480px,calc(100% - 40px));margin-inline:auto;padding:12px 0 max(32px,env(safe-area-inset-bottom,0px))}
.form-welcome .fw-auth-card{display:block;padding:24px;min-width:0;border:1px solid var(--fw-line);border-radius:12px;background:var(--fw-panel);box-shadow:none}
.fw-auth-card form{display:flex;flex-direction:column;gap:16px}
.fw-auth-card .v29-auth-title{margin:0}
.fw-auth-card .v29-auth-title>h1{font:600 26px/1.25 var(--fw-font);letter-spacing:-.035em;text-transform:none;margin:0;color:var(--fw-text);overflow-wrap:break-word}
.fw-auth-card .v29-role-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.fw-auth-card .v29-role-pick button{display:flex;align-items:center;justify-content:center;height:auto;min-height:44px;padding:10px;border:1px solid var(--fw-line);border-radius:9px;color:var(--fw-muted);background:transparent;font-size:14px;font-weight:600;line-height:22px;white-space:normal;box-shadow:none}
.fw-auth-card .v29-role-pick button.active{border-color:var(--fw-accent);background:#7657FF0c;color:var(--fw-text);box-shadow:none}
.fw-auth-card form>label{display:grid;gap:7px;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.5;margin:0;color:var(--fw-muted)}
.fw-auth-card form>label>input{font:400 16px/1.4 var(--fw-font);min-width:0;width:100%;min-height:46px;padding:11px 12px;border-radius:9px;border:1px solid #403B4B;color:var(--fw-text);background:var(--fw-bg)}
.form-welcome .fw-auth-card input:focus{border-color:var(--fw-accent)}
.fw-auth-card input::placeholder{color:var(--fw-muted)}
.fw-auth-card form>small,.fw-account-help{font-size:13px;color:var(--fw-muted);line-height:1.5;margin:0}
.fw-auth-card form>small{margin-top:-10px}
.fw-auth-card form>.v29-main-btn{height:auto;min-height:48px;font:600 15px/22px var(--fw-font);letter-spacing:0;text-transform:none;padding:13px 16px;border:0;border-radius:9px;background:var(--fw-accent);color:#FFFFFF;box-shadow:none;transform:none}
.fw-auth-card .fw-demo-options{margin:0;border-top:1px solid var(--fw-line);padding-top:8px}
.fw-demo-signup{font-size:14px;color:var(--fw-muted);border-top:1px solid var(--fw-line);padding-top:4px}
.fw-demo-signup>summary{min-height:44px;padding:11px 0;cursor:pointer;line-height:1.5}
.fw-auth-card .demo-signup-entry{margin:8px 0 0;padding:14px;border:1px solid var(--fw-line);border-radius:9px;background:var(--fw-bg)}
.fw-auth-card .demo-signup-entry button{font:600 14px/22px var(--fw-font);min-height:44px;padding:10px 12px;border:1px solid var(--fw-line);border-radius:9px;background:var(--fw-panel);color:var(--fw-text)}
.fw-auth-card .ag-signup{margin:0;padding:8px 12px;border-color:var(--fw-line);background:transparent}
.fw-auth-card .ag-signup>summary{font:500 14px/1.5 var(--fw-font);color:var(--fw-muted)}
.fw-auth-card .auth-notice{font-size:14px;line-height:1.5;margin:16px 0 0}
@media(hover:hover){.form-welcome .fw-role-choice:hover{background:#23202A;border-color:#D8D3E2}.form-welcome .fw-text-button:hover{background:#ffffff06;color:var(--fw-text)}.fw-demo-options>summary:hover{color:var(--fw-text)}.fw-demo-options button:hover,.fw-auth-card .demo-signup-entry button:hover{background:#ffffff06;color:var(--fw-text);border-color:#60596F}.fw-auth-card form>.v29-main-btn:hover{background:#7657FF}}
@media(max-width:520px){.fw-header{min-height:64px}.fw-auth-grid{padding-top:0}.form-welcome .fw-auth-card{padding:20px}.fw-auth-card .v29-auth-title>h1{font-size:24px}}
@media(max-height:650px){.fw-entry-identity{gap:12px;margin-bottom:28px}.fw-entry-mark{width:108px}.fw-entry .fw-brand-wordmark{width:180px}}
@media(max-height:500px){.form-welcome.fw-entry-page{padding-block:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-bottom,0px))}.fw-entry-identity{gap:10px;margin-bottom:20px}.fw-entry-mark{width:80px}.fw-entry .fw-brand-wordmark{width:150px}.form-welcome .fw-role-choice{min-height:50px;padding-block:11px}}
@media(prefers-reduced-motion:reduce){.form-welcome *,.form-welcome *::before{scroll-behavior:auto!important;transition:none!important}.form-welcome .fw-role-choice:active{transform:none}}

/* Shared semantic palette: SOMAGON · Aura. Never invert photos, artwork, logos or deal snapshots.
   Violet is information, not decoration: action, focus, active state (5–15% of the screen at most).
   Values from the brand chart. Derived for WCAG AA text: #5F40EE (violet text on light surfaces),
   #6A4BF5 (pressed violet under white text), light-mode status inks, dark lines #3B3548. */
:root{--es-bg:#0B0910;--es-panel:#15121D;--es-soft:#1D1928;--es-hover:#252033;--es-ink:#F6F3FA;--es-muted:#B9B2C6;--es-faint:#81798F;--es-line:#3B3548;--es-accent:#7657FF;--es-accent-2:#956FFF;--es-lavender:#C8B8FF;--es-lavender-soft:#DED5FF;--es-accent-ink:#956FFF;--es-accent-soft:#251D41;--es-danger:#EF4444;--es-success:#22C55E;--es-warning:#F59E0B;--es-info:#793BFF;--es-focus:#956FFF;--es-gradient:linear-gradient(135deg,#7657FF 0%,#956FFF 100%);--es-atmosphere:radial-gradient(circle at top right,rgba(118,87,255,.15),transparent 45%);--green:#22C55E;--amber:#F59E0B;--red:#EF4444}
/* Text in accent colour always uses the readable ink, never the fill (#7657FF is 4.3:1 on the dark background). */
html[data-theme]{--studio-lime-ink:var(--es-accent-ink);--bw-accent-ink:var(--es-accent-ink)}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] .v29-app:not(#_){background-color:#0B0910}
html[data-theme="dark"] .brand-workspace:not(#_){background-color:#0E0B14}
html[data-theme="light"]{color-scheme:light;--es-bg:#F7F4FC;--es-panel:#FFFFFF;--es-soft:#F0EBFA;--es-hover:#ECE5FB;--es-ink:#17131F;--es-muted:#625A70;--es-faint:#8C8498;--es-line:rgba(33,25,50,.10);--es-accent:#7657FF;--es-accent-ink:#5F40EE;--es-accent-soft:#ECE5FB;--es-danger:#B42318;--es-success:#15803D;--es-warning:#B45309;--es-info:#581DD6;--es-focus:#5F40EE;--bg:var(--es-bg);--bg2:#EFEDF4;--card:#fff;--solid:#fff;--card2:#F4F1FA;--text:var(--es-ink);--muted:var(--es-muted);--muted2:#706684;--line:var(--es-line);--line2:#BFB8CF;--ice:#43228B;--green:#16673e;--amber:#875600;--red:#b12c29;--shadow:0 12px 34px #17131F0b;--studio-bg:var(--es-bg);--studio-panel:var(--es-panel);--studio-border:var(--es-line);--studio-muted:var(--es-muted);--studio-lime:var(--es-accent);--studio-text:var(--es-ink);--studio-lime-ink:var(--es-accent-ink);--studio-surface:var(--es-panel);--studio-line:var(--es-line)}
html[data-theme] .v29-app .form-app-header .ep-wordmark{display:block!important}
html[data-theme] .v29-app .form-app-header .ep-wordmark>svg{width:80px;height:auto;display:block}
html[data-theme="light"] body:not(#_),html[data-theme="light"] #app,html[data-theme="light"] .v29-app:not(#_),html[data-theme="light"] .brand-workspace:not(#_),html[data-theme="light"] .form-welcome:not(#_){color-scheme:light;background-color:var(--es-bg)!important;color:var(--es-ink);--v29-bg:var(--es-bg);--v29-line:var(--es-line);--v29-line-strong:#B6AEC7;--v29-accent:var(--es-accent);--bw-bg:var(--es-bg);--bw-panel:var(--es-panel);--bw-line:var(--es-line);--bw-muted:var(--es-muted);--bw-accent:var(--es-accent);--bw-accent-ink:var(--es-accent-ink);--text:var(--es-ink);--muted:var(--es-muted);--fw-bg:var(--es-bg);--fw-panel:var(--es-panel);--fw-line:var(--es-line);--fw-text:var(--es-ink);--fw-muted:var(--es-muted);--fw-accent:var(--es-accent)}
html[data-theme="light"] .form-partnership-backdrop .modal-card.form-partnership-dialog{--bg:var(--es-bg);--card:var(--es-panel);--soft:var(--es-soft);--text:var(--es-ink);--muted:var(--es-muted);--line:var(--es-line);--studio-bg:var(--es-bg);--studio-panel:var(--es-panel);--studio-text:var(--es-ink);--studio-muted:var(--es-muted);--studio-border:var(--es-line);--studio-lime-ink:var(--es-accent-ink)}
html[data-theme="light"] .form-partnership-dialog>.form-dialog-footer{background:var(--es-panel);border-top-color:var(--es-line)}
html[data-theme="light"] .form-partnership-dialog :is(.form-dialog-notice,.form-dialog-header span){color:var(--es-muted)}
html[data-theme="light"] :is(.dm-panel-heading>strong,.dm-mission--accepted>header>span){color:var(--es-accent-ink)}
html[data-theme="light"] .v27-status-pill:is(.paid,.active){color:#1d6b43}
html[data-theme="light"] :is(.v29-content,.v29-page,.bw-content,.bw-page,.ae-profile,.ae-profile-edit,.ep-dashboard,.ep-socials-page){background:transparent!important;color:var(--es-ink)!important}
html[data-theme="light"] :is(.form-app-header,.v29-app-top,.v29-bottom-nav,.p34-nav.p36-nav,.demo-account-bar,.ag-entry){background:var(--es-panel)!important;border-color:var(--es-line)!important;color:var(--es-ink)!important}
html[data-theme="light"] .v29-app :is(.form-header-actions,.form-header-name,.form-settings-button,.ep-wordmark,.v29-wordmark,.fn-bell){color:var(--es-ink)!important}
html[data-theme="light"] .v29-app .p34-nav.p36-nav>button{color:var(--es-muted)!important}
html[data-theme="light"] .v29-app .p34-nav.p36-nav>button[aria-current="page"]{color:var(--es-ink)!important;background:var(--es-accent-soft)!important}
/* Public entry, authentication and loading use the same choice as private pages. */
html[data-theme="light"] .form-welcome.fw-entry-page{background:radial-gradient(ellipse at 50% 32%,#fff 0%,var(--es-bg) 68%)}
html[data-theme="light"] .form-welcome :is(.fw-entry-identity,.fw-wordmark,.fw-signin){color:var(--es-ink)}
html[data-theme="light"] .form-welcome .fw-role-choice{background:var(--es-panel);border-color:#B3ABC4;color:var(--es-ink);box-shadow:0 2px 6px #17131F06}
html[data-theme="light"] .form-welcome .fw-role-choice:hover{background:var(--es-soft)}
html[data-theme="light"] .form-intro{background:var(--es-bg);color:var(--es-ink)}
html[data-theme="light"] .form-intro>button{background:var(--es-panel);color:var(--es-ink);border-color:var(--es-line)}
/* Workspace surfaces, independent of legacy hard-coded dark colors. */
html[data-theme="light"] :is(.ep-panel,.ep-disclosure,.ep-network-editor,.ep-avatar,.ep-quick-actions>button,.ep-network-shortcuts>button,.ep-network-editor .soc-editor,.ae-readiness,.ae-privacy-note,.ae-event-switch,.ae-photo-section,.ae-partnership-section,.ae-deal-card,.ae-preview-banner,.ae-event-dialog,.form-account-panel,.form-language-card,.form-account-data,.v30-save-bar,.v29-form-card,.v29-profile-preview,.soc-panel,.soc-editor,.soc-total,.soc-public-list>a,.soc-count-parts>span,.v30-empty,.p31-next-card,.p33-presentation,.p31-campaign-focus,.p31-campaign-list,.p31-stats>article,.bw-panel,.bw-empty,.bw-kit,.bw-metrics>article,.bw-secondary-metrics>article,.bw-asset,.bw-deal-row,.bw-table,.bd-card,.bd-profile,.bd-profile-panel,.bd-empty,.cal-card,.cal-month,.cal-event,.cal-dialog,.ff-panel,.ff-settings,.ff-address,.ff-brief,.ff-mode,.ff-tracking,.ff-vendor-list>article,.ff-logo-pack,.dm-panel,.dm-card,.dm-mission,.mp-panel,.mp-proof-card,.fn-panel,.fn-panel-header,.fn-panel-actions,.fn-list,.fn-group,.fn-row,.fn-empty,.modal-card,.v30-confirm,.v30-crop-modal,.v30-checkout,.form-partnership-dialog,.form-dialog-header,.form-dialog-body,.partnership-row,.partnership-composer,.partnership-letters>article,.selection-group,.selection-empty,.p35-review,.bt-review,.bt-heading,.bt-steps,.v30-composer-controls,.v30-editor-controls,.v30-editor-toolbar,.v30-preview-head,.v30-stage-footer,.athlete-active-zone,.athlete-reference-options,.athlete-placement-list,.athlete-precise-options,.v27-clean-deal-card,.v27-clean-campaign,.v27-filter-pills,.v27-brand-hero,.v27-brand-assets-clean,.v27-brand-form-clean,.v27-logo-grid-clean>article){background-color:var(--es-panel)!important;background-image:none!important;border-color:var(--es-line)!important;color:var(--es-ink)!important;box-shadow:none}
html[data-theme="light"] :is(.ep-disclosure>summary,.ep-network-editor>summary,.ae-zone-summary>li,.form-account-links>button,.form-account-footer,.soc-save,.fn-group>h3,.ff-history,.partnership-admin,.partnership-finances,.bw-table th,.bw-table td){border-color:var(--es-line)!important;color:var(--es-ink)}
html[data-theme="light"] :is(.ep-disclosure>summary:hover,.ep-network-editor>summary:hover,.fn-row:hover,.fn-row-unread){background:var(--es-accent-soft)!important}
html[data-theme="light"] :is(.ep-avatar,.fn-avatar,.p33-portrait,.v30-photo-missing){background:var(--es-soft)!important;color:var(--es-muted)!important}
html[data-theme="light"] :is(.ep-identity-copy h2,.ep-section-heading h2,.ae-section-heading h2,.soc-editor legend,.soc-panel h2,.soc-public-list strong,.soc-total strong,.form-language-card h2,.form-account-header h1,.bw-head h1,.bw-panel h2,.bw-metrics strong,.ff-heading h3,.fn-panel h2,.fn-row-copy strong,.fn-empty h3,.v29-page-head h1,.cal-heading h1,.elan-photo-category__head h2,.elan-photo-card__heading strong){color:var(--es-ink)!important}
html[data-theme="light"] :is(.ep-identity-copy p,.ep-networks>p,.ep-networks>small,.ep-quick-actions small,.ep-status,.ep-publish p,.ep-social-intro,.ep-disclosure>summary>span,.ep-network-editor>summary small,.ep-network-editor .soc-help,.ae-eyebrow,.ae-section-heading p,.ae-readiness p,.ae-privacy-note p,.ae-empty-note,.ae-zone-summary small,.ae-zone-state,.ae-form-help,.form-account-identity span,.form-header-name,.form-language-card p,.soc-help,.soc-total p,.soc-count-parts span,.soc-public-list small,.soc-status,.bw-head p,.bw-eyebrow,.bw-facts dt,.bw-metrics article>span,.bw-secondary-metrics span,.bw-table th,.ff-note,.ff-disclaimer,.ff-panel p,.fn-row-body,.fn-row-copy time,.fn-group h3,.v29-page-head p,.v30-help,.inline-notice,.cal-event-copy p,.cal-card small,.partnership-event,.selection-copy em,.elan-photo-category__head p,.elan-photo-category__meta small,.elan-photo-card__heading small,.elan-photo-card__heading>span,.elan-photo-progress p,.elan-photo-progress span){color:var(--es-muted)!important}
html[data-theme="light"] :is(.ep-section-heading>.ae-text-button,.ep-identity-copy>.ae-text-button,.ep-network-shortcuts i,.ae-zone-state.is-held,.soc-status.is-verified,.form-account-links a,.elan-photo-category__head>div:first-child>span){color:var(--es-accent-ink)!important}
/* Controls remain native (including keyboard focus, autofill and OS pickers). */
html[data-theme="light"] :is(.v29-app,.form-welcome,.modal-card) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),select,textarea){background-color:var(--es-panel)!important;border-color:#B3AAC5!important;color:var(--es-ink)!important;color-scheme:light}
html[data-theme="light"] :is(.v29-app,.form-welcome,.modal-card) ::placeholder{color:#736B85!important;opacity:1}
html[data-theme="light"] :is(.v29-app,.form-welcome) :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--es-focus)!important}
html[data-theme="light"] :is(.v29-ghost-btn,.ae-button-secondary,.ae-text-button,.ff-button:not(.ff-primary),.bw-upload,.cal-scope button,.cal-sport-pills button,.v27-filter-pills button,.bt-steps button,.p36-photo-tabs button,.v30-view-tabs button,.athlete-photo-pager button,.v30-history button,.fn-close,.fn-panel-actions button,.form-dialog-close,.elan-photo-card__secondary button,.elan-photo-card__secondary label){background-color:var(--es-panel)!important;border-color:var(--es-line)!important;color:var(--es-ink)!important}
html[data-theme="light"] :is(.v29-main-btn,.ae-button-primary,.ff-primary,.primary-action,.elan-photo-card__primary){background:var(--es-accent)!important;border-color:#7657FF!important;color:#FFFFFF}
html[data-theme="light"] :is(.form-signout,.es-danger){color:var(--es-danger)!important}
html[data-theme="light"] .v30-save-bar button{color:var(--es-accent-ink)!important}
html[data-theme="light"] .v30-save-bar [data-save-status]{color:var(--es-muted)!important}
html[data-theme="light"] :is([data-save-status][data-state="error"],[data-save-status][data-state="offline"],[data-save-status][data-state="conflict"]){color:#8b4600!important}
/* Photos and the public athlete card: change chrome, never their pixels. */
html[data-theme="light"] :is(.elan-photo-card,.elan-photo-progress,.athlete-brand-card,.abc-card){background:var(--es-panel)!important;border-color:var(--es-line)!important;color:var(--es-ink)!important}
html[data-theme="light"] :is(.elan-photo-card__media,.elan-photo-card__placeholder,.elan-photo-progress__bar,.v29-photo-empty){background:var(--es-soft)!important;color:var(--es-muted)!important}
html[data-theme="light"] .elan-photo-card__status{background:#F6F2FFe8;color:var(--es-ink);border-color:var(--es-line)}
html[data-theme="light"] .elan-photo-card__add{background:var(--es-accent-soft);color:var(--es-accent-ink);border-color:#74629B}
html[data-theme="light"] .elan-photo-card[data-photo-slot="front"] .elan-photo-card__status{background:var(--es-accent-soft);color:var(--es-accent-ink);border-color:#74629B}
html[data-theme="light"] .elan-photo-card__placeholder>span{border-color:#A59CB8}
html[data-theme="light"] :is(.elan-photo-progress strong,.elan-photo-category__meta b){color:var(--es-ink)}
html[data-theme="light"] :is(.v29-roster-photo,.v29-land-card__photo,.v29-player-media,.p33-intro-hero,.v29-athlete-hero){color:#fff}
/* Compact, mobile-first settings. */
.v29-app .es-settings{width:min(680px,100%);padding:24px 20px calc(var(--form-nav-height,64px) + 28px);margin-inline:auto;color:var(--es-ink)}
.v29-app .es-settings,.es-settings *{box-sizing:border-box}
.v29-app .es-settings .form-account-header{margin:0 0 20px}
.v29-app .es-settings h1{font:650 28px/1.2 "Avenir Next",Avenir,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.035em;text-transform:none;margin:0}.es-appearance{padding:0;margin:0;border:0;min-width:0}.es-appearance legend{padding:0;margin-bottom:14px;font-size:16px;line-height:1.4;font-weight:600;color:var(--es-ink)}
.es-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.es-theme-option{position:relative;display:grid;justify-items:center;gap:9px;margin:0;padding:12px 5px;border:1px solid var(--es-line);border-radius:11px;background:var(--es-panel);font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0;cursor:pointer;color:var(--es-ink)}
.es-theme-option input{position:absolute;z-index:1;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.es-theme-option:has(input:checked){border-color:var(--es-accent-ink);background:var(--es-accent-soft);box-shadow:inset 0 0 0 1px var(--es-accent-ink)}
.es-theme-option:has(input:focus-visible){outline:2px solid var(--es-focus);outline-offset:4px}
.es-theme-preview{display:block;position:relative;width:54px;height:37px;border:1px solid #BDB7CB;border-radius:5px;overflow:hidden;background:#F7F4FC}
.es-theme-preview i{position:absolute;left:0;top:0;right:0;height:7px;background:#fff;border-bottom:1px solid #D6D2E0}
.es-theme-preview b,.es-theme-preview em{position:absolute;left:7px;width:38px;height:6px;top:14px;border-radius:2px;background:#DCD8E5}.es-theme-preview em{top:24px;width:26px;height:4px}
.es-preview-dark{background:#15121D;border-color:#625A72}.es-preview-dark i{background:#24202E;border-color:#40394E}.es-preview-dark b,.es-preview-dark em{background:#6F6683}
.es-preview-system{background:linear-gradient(90deg,#F7F4FC 50%,#15121D 50%)}.es-preview-system i{background:linear-gradient(90deg,#fff 50%,#24202E 50%)}.es-preview-system b,.es-preview-system em{background:linear-gradient(90deg,#DCD8E5 50%,#6F6683 50%)}
.v29-app .es-save-slot .v30-save-bar{position:static!important;transform:none!important;width:100%;max-width:none;margin:0;padding:0;box-shadow:none;border:0;background:transparent;backdrop-filter:none;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;line-height:1.5;color:var(--es-muted)}
.v29-app .es-save-slot .v30-save-bar [data-save-status]{flex:1;min-width:130px;font-size:12px;white-space:normal}.v29-app .es-save-slot .v30-save-bar button{font-size:12px!important;min-height:44px!important;padding:7px 0!important;color:var(--es-accent-ink)}
.v29-app .es-settings .form-account-footer{margin-top:14px;padding-top:12px;border-color:var(--es-line)}.v29-app .es-settings .form-signout{font-size:14px;min-height:48px;color:var(--es-danger)}
@media(max-width:600px){.v29-app .es-settings{padding:20px 16px calc(var(--form-nav-height,64px) + 24px)}.es-theme-options{gap:8px}}
@media(hover:hover){.es-theme-option:hover{background:var(--es-soft)}.es-theme-option:has(input:checked):hover{background:var(--es-accent-soft)}}
@media(prefers-reduced-motion:no-preference){.es-theme-option{transition:background-color .15s ease,border-color .15s ease}}

/* ELAN_UI_REFINEMENT_V1
   Explicit settings cells neutralize legacy summary decorations. Shared action
   tokens style controls only: never photo coordinates, crop transforms or logos. */
:root{--elan-ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--elan-ui-scale:1;--elan-action-radius:11px;--elan-action-height:46px;--elan-motion-fast:140ms;--elan-motion-enter:180ms;--elan-motion-ease:cubic-bezier(.2,.7,.2,1)}
html[data-app-text="large"]{--elan-ui-scale:1.15}
html .v29-app .ea-settings{font-family:var(--elan-ui-font);font-size:1rem}
html .v29-app .ea-settings .ea-list{border-radius:16px;box-shadow:none}
html .v29-app .ea-settings .ea-section{margin:0;padding:0;min-width:0}
/* The old open-details ::before became an extra auto-placed grid cell. Both
   pseudo-elements must be removed, not merely made transparent. */
html .v29-app .ea-settings .ea-section>summary::before,
html .v29-app .ea-settings .ea-section>summary::after{content:none!important;display:none!important}
html .v29-app .ea-settings .ea-section>summary::marker{content:""!important;font-size:0}
html .v29-app .ea-settings .ea-section>summary::-webkit-details-marker{display:none!important}
html .v29-app .ea-settings .ea-section>summary{
  display:grid!important;grid-template-areas:"icon label value chevron"!important;
  grid-template-columns:22px minmax(0,1fr) max-content 12px!important;
  grid-template-rows:auto!important;grid-auto-flow:row!important;
  align-items:center!important;justify-content:normal!important;gap:4px 12px!important;
  width:100%;min-width:0;min-height:64px;height:auto!important;margin:0!important;
  padding:16px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:var(--es-ink)!important;
  font:500 calc(1rem * var(--elan-ui-scale))/1.45 var(--elan-ui-font)!important;
  text-align:left!important;letter-spacing:0!important;text-transform:none!important;
  list-style:none!important;writing-mode:horizontal-tb!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
  box-shadow:none!important;transform:none!important;transition:background-color var(--elan-motion-fast) ease!important;
}
html .v29-app .ea-settings .ea-section>summary>svg{grid-area:icon!important;align-self:center;display:block;width:22px;height:22px;margin:0!important;color:var(--es-muted)}
html .v29-app .ea-settings .ea-section>summary>.ea-row-label{grid-area:label!important;display:block;width:auto!important;min-width:0;max-width:none;margin:0!important;font:inherit!important;letter-spacing:0!important;text-align:left!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important}
html .v29-app .ea-settings .ea-section>summary>.ea-row-value{grid-area:value!important;display:block;justify-self:end;width:auto!important;min-width:0;max-width:none!important;margin:0!important;color:var(--es-muted);font:400 calc(.875rem * var(--elan-ui-scale))/1.45 var(--elan-ui-font)!important;letter-spacing:0!important;text-align:right!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
html .v29-app .ea-settings .ea-section>summary>.ea-row-value:empty{display:none!important}
html .v29-app .ea-settings .ea-section>summary>.ea-chevron{grid-area:chevron!important;align-self:center;justify-self:center;display:block;width:7px;height:7px;margin:0!important;transform:rotate(-45deg);transition:transform var(--elan-motion-fast) ease}
html .v29-app .ea-settings .ea-section[open]>summary{background:var(--es-soft)!important}
html .v29-app .ea-settings .ea-section[open]>summary>.ea-chevron{transform:rotate(45deg)}
html .v29-app .ea-settings .ea-section>summary:focus-visible{outline:2px solid var(--es-focus);outline-offset:-4px}
html .v29-app .ea-settings .ea-section-body{min-width:0;padding:16px;border-top:1px solid var(--es-line)}
/* Values use a second line on phones, for BOTH closed and open rows. This also
   works at 200% text size without narrowing a word into one-letter columns. */
@media(max-width:600px){
 html .v29-app .ea-settings .ea-section>summary{grid-template-areas:"icon label chevron" "icon value chevron"!important;grid-template-columns:22px minmax(0,1fr) 12px!important;grid-template-rows:auto auto!important}
 html .v29-app .ea-settings .ea-section>summary>.ea-row-value{justify-self:start;text-align:left!important}
}
html[data-app-text="large"] .v29-app .ea-settings .ea-section>summary{grid-template-areas:"icon label chevron" "icon value chevron"!important;grid-template-columns:22px minmax(0,1fr) 12px!important;grid-template-rows:auto auto!important}
html[data-app-text="large"] .v29-app .ea-settings .ea-section>summary>.ea-row-value{justify-self:start;text-align:left!important}
html .v29-app .ea-settings .ea-extra>summary{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:12px 0!important;min-height:48px;white-space:normal;overflow-wrap:normal;word-break:normal;list-style:none;font:500 calc(.9375rem * var(--elan-ui-scale))/1.45 var(--elan-ui-font)!important;text-align:left}
html .v29-app .ea-settings .ea-extra>summary::before{display:none!important;content:none!important}
html .v29-app .ea-settings .ea-extra>summary::marker{content:""}
html .v29-app .ea-settings .ea-extra>summary::-webkit-details-marker{display:none}
html .v29-app .ea-settings .ea-extra>summary::after{content:""!important;display:block!important;position:static;flex:0 0 7px;width:7px;height:7px;margin:0 3px;border:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
html .v29-app .ea-settings .ea-extra[open]>summary::after{transform:rotate(45deg)}
html .v29-app .ea-settings :is(.ea-note,.ea-feedback,.ea-toggle small){font:400 calc(.875rem * var(--elan-ui-scale))/1.55 var(--elan-ui-font)!important;letter-spacing:0;word-break:normal;overflow-wrap:break-word}
html .v29-app .ea-settings :is(.ea-field,.ea-options legend,.ea-toggle strong){font:500 calc(.9375rem * var(--elan-ui-scale))/1.45 var(--elan-ui-font)!important}
html .v29-app .ea-settings select{height:auto;min-height:48px;font:400 calc(1rem * var(--elan-ui-scale))/1.4 var(--elan-ui-font)!important}
html .v29-app .ea-settings .es-theme-options{display:flex;flex-wrap:wrap;gap:8px}
html .v29-app .ea-settings .es-theme-option{flex:1 1 5rem;min-width:max-content;max-width:100%;min-height:92px;padding:12px;gap:8px;border-radius:11px;box-shadow:none!important;font:500 calc(.9375rem * var(--elan-ui-scale))/1.4 var(--elan-ui-font)!important;transition:background-color var(--elan-motion-fast) ease,border-color var(--elan-motion-fast) ease}
html .v29-app .ea-settings .es-theme-option>span:last-child{font:inherit!important;white-space:normal;word-break:normal;overflow-wrap:normal}
html .v29-app .ea-settings :is(.es-theme-option,.ea-choice):has(input:checked){border-color:var(--es-accent-ink);background:var(--es-accent-soft);box-shadow:none!important}
html .v29-app .ea-settings .ea-choice{font:500 calc(.9375rem * var(--elan-ui-scale))/1.4 var(--elan-ui-font)!important;word-break:normal;overflow-wrap:normal;min-height:48px}
html .v29-app .ea-settings .ea-options>div{display:flex;flex-wrap:wrap;gap:8px}
html .v29-app .ea-settings .ea-options .ea-choice{flex:1 1 8rem;min-width:0}
html .v29-app .ea-settings .ea-toggle{grid-template-columns:minmax(0,1fr) 46px;gap:16px}
html .v29-app .ea-settings .ea-toggle>span{min-width:0}
/* Touch targets grow with text; no fixed-height rows or truncated buttons. */
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.ae-button,.ff-button,.ea-action,.elan-photo-card__primary,.soc-save>button){
 box-sizing:border-box;min-height:var(--elan-action-height)!important;height:auto!important;max-width:100%;
 padding:12px 16px!important;border-radius:var(--elan-action-radius)!important;border-width:1px;
 font-family:var(--elan-ui-font)!important;font-size:calc(.9375rem * var(--elan-ui-scale))!important;font-weight:600!important;line-height:1.4!important;
 text-transform:none!important;letter-spacing:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
 box-shadow:none!important;text-shadow:none!important;filter:none!important;transform:none!important;background-image:none!important;
 transition:background-color var(--elan-motion-fast) ease,border-color var(--elan-motion-fast) ease,color var(--elan-motion-fast) ease,opacity var(--elan-motion-fast) ease!important;
}
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(.v29-main-btn,.primary-action,.ae-button-primary,.ff-primary,.elan-photo-card__primary){background:var(--es-accent)!important;border:1px solid var(--es-accent)!important;color:#FFFFFF}
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(.v29-ghost-btn,.outline-action,.ghost-action,.ae-button-secondary,.ff-button:not(.ff-primary),.ea-action){background:var(--es-panel)!important;border:1px solid var(--es-line)!important;color:var(--es-ink)!important}
html .v29-app :is(.ae-text-button,.form-signout){min-height:44px;height:auto;box-shadow:none!important;filter:none!important;transform:none!important;background-image:none!important;font-family:var(--elan-ui-font)!important;font-size:calc(.9375rem * var(--elan-ui-scale))!important;font-weight:500!important;letter-spacing:0!important;line-height:1.4!important;transition:background-color var(--elan-motion-fast) ease,color var(--elan-motion-fast) ease!important}
html .v29-app :is(.ea-action.ea-danger,.form-signout){color:var(--es-danger)!important}
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.ae-button,.ff-button,.ea-action,.elan-photo-card__primary):disabled{opacity:.45!important;cursor:not-allowed;transform:none!important;box-shadow:none!important}
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(button,label):has(>input[type="file"]:disabled){opacity:.55;cursor:wait}
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(button,[role="button"],input,select,textarea):focus-visible{outline:2px solid var(--es-focus)!important;outline-offset:3px}
html .form-welcome .fw-role-choice{background:var(--es-panel)!important;border-color:var(--es-line)!important;color:var(--es-ink)!important;box-shadow:none!important;transform:none!important;font-family:var(--elan-ui-font);font-size:1rem;min-height:54px;border-radius:12px;transition:background-color var(--elan-motion-fast) ease,border-color var(--elan-motion-fast) ease}
html .v29-app .elan-photo-card__secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html .v29-app .elan-photo-card__secondary>:is(button,label){height:auto;min-height:44px;font-family:var(--elan-ui-font);font-size:calc(.875rem * var(--elan-ui-scale));line-height:1.4;word-break:normal;overflow-wrap:normal;box-shadow:none;filter:none;transform:none}
@media(hover:hover) and (pointer:fine){
 html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(.v29-ghost-btn,.outline-action,.ghost-action,.ae-button-secondary,.ff-button:not(.ff-primary),.ea-action,.fw-role-choice):not(:disabled):hover{background:var(--es-soft)!important;border-color:var(--es-muted)!important}
 html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(.v29-main-btn,.primary-action,.ae-button-primary,.ff-primary,.elan-photo-card__primary):not(:disabled):hover{background:#7657FF!important}
 html .v29-app .ea-settings .ea-section>summary:hover{background:var(--es-soft)!important}
}
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(.v29-main-btn,.primary-action,.ae-button-primary,.ff-primary,.elan-photo-card__primary):not(:disabled):active{background:#7657FF!important;transform:none!important;filter:none!important}
html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog) :is(.v29-ghost-btn,.outline-action,.ghost-action,.ae-button-secondary,.ff-button:not(.ff-primary),.ea-action,.fw-role-choice):not(:disabled):active{background:var(--es-soft)!important;border-color:var(--es-muted)!important;transform:none!important;filter:none!important}
/* Redrawing a saved page is not an entrance. Only the existing route-change
   marker gets a short opacity transition; native loading indicators stay live. */
html .v29-app :is(.v29-page,.bw-page){animation:none!important}
@media(prefers-reduced-motion:no-preference){
 html:not([data-app-motion="reduced"]) .v29-app [data-page-enter]{animation:elan-ui-enter var(--elan-motion-enter) ease-out both!important}
 html:not([data-app-motion="reduced"]) .v29-app .ep-dashboard[data-profile-enter],html:not([data-app-motion="reduced"]) .v29-app .ep-socials-page[data-profile-enter]{animation:elan-ui-enter var(--elan-motion-enter) ease-out both!important}
}
@keyframes elan-ui-enter{from{opacity:.7}to{opacity:1}}
html[data-app-motion="reduced"] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) *,html[data-app-motion="reduced"] :is(.v29-app,.form-welcome) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) *,html :is(.v29-app,.form-welcome) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Match the explicit row selector so reduced-motion cannot lose to its
   higher-specificity transition rule in the legacy cascade. */
html[data-app-motion="reduced"] .v29-app .ea-settings .ea-section>summary,
html[data-app-motion="reduced"] .v29-app .ea-settings .ea-section>summary>.ea-chevron,
html[data-app-motion="reduced"] .v29-app .ea-settings .es-theme-option{transition:none!important}
html .v29-app [data-profile-enter]>*{animation:none!important}
@media(prefers-reduced-motion:reduce){html .v29-app .ea-settings .ea-section>summary,html .v29-app .ea-settings .ea-section>summary>.ea-chevron,html .v29-app .ea-settings .es-theme-option{transition:none!important}}

/* A long word may wrap only inside the full-width label at text zoom. Values
   retain their own line; no forced word-break is used for short settings. */
html .v29-app .ea-settings .ea-section>summary>.ea-row-label{justify-self:stretch!important;overflow-wrap:break-word!important;hyphens:auto;-webkit-hyphens:auto}

/* ELAN_GLOBAL_UI_V2 — common controls, intrinsic bounds and readable themes.
   Does not style interactive photo-space SVGs, patches, logos or media overlays. */
html{--eu-font:-apple-system,BlinkMacSystemFont,"Avenir Next","Segoe UI",sans-serif;--eu-text:calc(.9375rem * var(--elan-ui-scale,1));--eu-small:calc(.8125rem * var(--elan-ui-scale,1));--eu-radius:10px}
html[data-theme="light"]{--es-ink:#17131F;--es-muted:#504862;--es-line:#C9C3D7;--es-accent-ink:#5F40EE;--eu-primary:#7657FF;--eu-primary-ink:#FFFFFF;--eu-primary-press:#6A4BF5;--eu-secondary:#F0EBFA;--eu-stroke:#9389A8;--eu-focus:#5F40EE}
html[data-theme="dark"]{--es-ink:#F4F2F7;--es-muted:#BAB3C8;--es-line:#4C435E;--eu-primary:#7657FF;--eu-primary-ink:#FFFFFF;--eu-primary-press:#6A4BF5;--eu-secondary:#282235;--eu-stroke:#9289A4;--eu-focus:#956FFF}
html[data-theme] .v29-app{--bw-muted:var(--es-muted);--bw-line:var(--es-line);--muted:var(--es-muted);--muted2:var(--es-muted)}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.secondary-action,.ae-button,.ff-button,.ea-action,.soc-save>button,.elan-photo-card__primary,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label,.bd-button,.bw-upload,.bw-asset-actions>button,.p31-inline-actions>button,.demo-account-bar>button){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px!important;height:auto!important;max-width:100%;padding:10px 14px!important;border:1px solid var(--es-line);border-radius:var(--eu-radius)!important;font:550 var(--eu-text)/1.35 var(--eu-font)!important;letter-spacing:0!important;text-transform:none!important;text-align:center;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;transform:none!important;background-image:none!important;transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease!important}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.primary-action,.ae-button-primary,.ff-primary,.elan-photo-card__primary,.soc-save>button){background:var(--eu-primary)!important;border-color:var(--eu-primary)!important;color:var(--eu-primary-ink)!important}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-ghost-btn,.outline-action,.ghost-action,.secondary-action,.ae-button-secondary,.ff-button:not(.ff-primary),.ea-action,.bw-upload,.bw-asset-actions>button,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label){background:var(--eu-secondary)!important;border-color:transparent!important;color:var(--es-ink)!important}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.secondary-action,.ae-button,.ff-button,.ea-action,.soc-save>button,.elan-photo-card__primary,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label,.bd-button,.bw-upload,.bw-asset-actions>button,.p31-inline-actions>button,.demo-account-bar>button)>svg{width:18px;height:18px;flex:0 0 18px;max-width:18px;max-height:18px;color:inherit}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.secondary-action,.ae-button,.ff-button,.ea-action,.soc-save>button,.elan-photo-card__primary,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label,.bd-button,.bw-upload,.bw-asset-actions>button,.p31-inline-actions>button,.demo-account-bar>button)>span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.primary-action,.ae-button-primary,.ff-primary,.elan-photo-card__primary,.soc-save>button):not(:disabled):active{background:var(--eu-primary-press)!important;color:var(--eu-primary-ink)!important}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-ghost-btn,.outline-action,.ghost-action,.secondary-action,.ae-button-secondary,.ff-button:not(.ff-primary),.ea-action,.bw-upload,.bw-asset-actions>button,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label):not(:disabled):active{background:var(--es-panel)!important;border-color:var(--eu-stroke)!important}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.secondary-action,.ae-button,.ff-button,.ea-action,.soc-save>button,.elan-photo-card__primary,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label,.bd-button,.bw-upload,.bw-asset-actions>button,.p31-inline-actions>button,.demo-account-bar>button):disabled,html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.secondary-action,.ae-button,.ff-button,.ea-action,.soc-save>button,.elan-photo-card__primary,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label,.bd-button,.bw-upload,.bw-asset-actions>button,.p31-inline-actions>button,.demo-account-bar>button):has(>input:disabled){opacity:.55!important;cursor:not-allowed}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.v29-ghost-btn,.primary-action,.outline-action,.ghost-action,.secondary-action,.ae-button,.ff-button,.ea-action,.soc-save>button,.elan-photo-card__primary,.elan-photo-card__add,.elan-photo-card__secondary>button,.elan-photo-card__secondary>label,.bd-button,.bw-upload,.bw-asset-actions>button,.p31-inline-actions>button,.demo-account-bar>button):focus-visible,html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) label:has(>input[type=file]):focus-within{outline:2px solid var(--eu-focus)!important;outline-offset:3px}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(label.v30-upload-label,label.bw-upload){position:relative;overflow:visible;width:fit-content;margin:0!important}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(label.v30-upload-label,label.bw-upload)>input[type=file]{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;max-width:100%;opacity:0;cursor:pointer;margin:0;padding:0;border:0}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) form,html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) fieldset,html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) form :is(label,.v29-form-two,.bw-form-grid,.form-grid,.soc-fields){min-width:0;max-width:100%}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) form label:not(:has(input[type=file])){font-size:var(--eu-text);line-height:1.4;letter-spacing:0;color:var(--es-ink)}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea){box-sizing:border-box;min-width:0!important;max-width:100%!important;width:100%;min-height:46px;height:auto;padding:11px 12px;border:1px solid var(--eu-stroke)!important;border-radius:var(--eu-radius)!important;background:var(--es-panel)!important;color:var(--es-ink)!important;font:400 calc(1rem * var(--elan-ui-scale,1))/1.4 var(--eu-font)!important;box-shadow:none!important;text-overflow:ellipsis}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea)::placeholder{color:var(--es-muted)!important;opacity:1!important}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(input[type=date],input[type=time],input[type=datetime-local]){appearance:none;-webkit-appearance:none;display:block;min-inline-size:0!important;inline-size:100%;max-inline-size:100%;text-align:left}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) input::-webkit-date-and-time-value{min-width:0;text-align:left}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) input::-webkit-datetime-edit{min-width:0;padding:0}
html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) textarea{min-height:110px;resize:vertical;white-space:pre-wrap;text-overflow:clip}
html[data-theme] .v29-app :is(.v29-page-head,.bw-head,.ae-page-heading,.cal-heading) h1{font:650 calc(1.625rem * var(--elan-ui-scale,1))/1.18 var(--eu-font)!important;letter-spacing:-.035em!important;text-transform:none!important;color:var(--es-ink)!important;overflow-wrap:break-word;min-width:0}
html[data-theme] .v29-app :is(.v29-page-head,.bw-head) p{font:400 var(--eu-text)/1.5 var(--eu-font)!important;max-width:60ch;color:var(--es-muted)!important;margin:8px 0 0}
html[data-theme] .v29-app :is(.v29-form-card,.bw-panel,.p33-presentation,.ae-edit-preview)>h2{font:600 calc(1.1875rem * var(--elan-ui-scale,1))/1.3 var(--eu-font)!important;letter-spacing:-.02em;color:var(--es-ink);margin:0 0 12px}
html[data-theme] .v29-app :is(.v29-content,.bw-content,.v29-page,.bw-page,.v29-profile-grid,.bw-two-column,.bw-head,.bw-head>div,.p33-presentation,.p33-presentation>div,.ae-edit-preview,.abc-copy,.ep-panel,.ep-section-heading,.bw-toolbar,.bw-head-actions){min-width:0;max-width:100%;box-sizing:border-box}
html[data-theme] .v29-app :is(.v29-form-two,.bw-form-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-theme] .v29-app :is(.v29-page-actions,.bw-head-actions,.p31-inline-actions,.eu-actions){display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0;max-width:100%}
html[data-theme] .v29-app :is(.v29-page-actions,.bw-head-actions,.p31-inline-actions,.eu-actions)>:is(button,label){flex:0 1 auto;max-width:100%;min-width:0}
html[data-theme] .v29-app :is(.bw-toolbar>label,.bw-section-head,.ae-page-heading,.ep-section-heading){min-width:0;max-width:100%;flex-wrap:wrap}
html[data-theme] .v29-app :is(.v29-form-card,.bw-form,.ff-address,.soc-editor){gap:16px}
html[data-theme] .v29-app :is(.v29-form-card,.bw-panel,.p33-presentation,.ae-edit-preview){background:var(--es-panel);border:1px solid var(--es-line);border-radius:16px;padding:20px;box-shadow:none}
html[data-theme] .v29-app :is(.v30-help,.eu-form-note,.bw-context,.bw-empty p,.bw-asset p,.bw-asset small,.bw-facts dt,.p33-presentation p,.p33-presentation small){font:400 var(--eu-small)/1.5 var(--eu-font)!important;color:var(--es-muted)!important;overflow-wrap:break-word;white-space:normal;margin:0}
html[data-theme] .v29-app .p33-presentation{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:16px;margin:0 0 20px}
html[data-theme] .v29-app .p33-portrait{width:96px;height:112px;min-height:0;max-height:none;aspect-ratio:auto;border-radius:12px;background:var(--es-soft)!important;overflow:hidden}
html[data-theme] .v29-app .p33-portrait img{width:100%;height:100%;object-fit:cover}
html[data-theme] .v29-app .p33-presentation h2{font:600 calc(1.125rem * var(--elan-ui-scale,1))/1.3 var(--eu-font);margin:0 0 6px;letter-spacing:-.02em;color:var(--es-ink)}
html[data-theme] .v29-app .p33-presentation .eu-actions{grid-column:1/-1}
html[data-theme] .v29-app .p33-presentation .eu-actions>label{flex:1 1 160px!important;width:auto}
html[data-theme] .v29-app .p33-presentation .eu-actions>button{flex:1 1 130px!important}
html[data-theme] .v29-app .bw-sections{display:flex;max-width:100%;min-width:0;overflow-x:auto;gap:4px;padding:8px 0 0;margin:0;scroll-padding-inline:8px;overscroll-behavior-inline:contain}
html[data-theme] .v29-app .bw-sections button{flex:0 0 auto;min-height:44px;padding:10px 12px;background:transparent!important;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--es-muted)!important;font:550 var(--eu-text)/1.35 var(--eu-font);white-space:nowrap;box-shadow:none;transform:none;letter-spacing:0}
html[data-theme] .v29-app .bw-sections button[aria-current=page]{color:var(--es-ink)!important;border-bottom-color:var(--es-accent-ink)}
html .v29-app .v30-save-bar:not(.is-private-beta):has([data-save-status][data-state="saved"]),html .v29-app .v30-save-bar:not(.is-private-beta):has([data-save-status][data-state="local"]){display:none!important}
html[data-theme] .v29-app .touch-demo-menu{min-width:0;max-width:100%;margin:8px 16px 16px;border:0}
html[data-theme] .v29-app .touch-demo-menu>summary{min-height:44px;width:fit-content;max-width:100%;background:transparent!important;color:var(--es-muted)!important;border:0;gap:6px;padding:8px 0!important;font:400 var(--eu-small)/1.5 var(--eu-font)!important;text-align:left;white-space:normal;overflow-wrap:break-word}
html[data-theme] .v29-app .demo-account-bar{max-width:100%;background:var(--es-panel)!important;border-color:var(--es-line);color:var(--es-ink)}
html[data-theme] .v29-app .demo-account-bar :is(p,strong,label){color:var(--es-muted)}
html[data-theme] .v29-app .demo-account-bar>div{min-width:0;flex-basis:100%}
html[data-theme] .v29-app .demo-account-bar label{min-width:0;max-width:100%;flex:1 1 180px}
html[data-theme] .v29-app .abc-copy :is(small,.abc-eyebrow,.abc-bio,dt){color:var(--es-muted)!important}
html[data-theme] .v29-app .abc-copy :is(.abc-eyebrow,.abc-bio,.abc-event small,.abc-stats dt,.abc-zones small){font-size:var(--eu-small)!important;line-height:1.5}
html[data-theme] .v29-app .abc-copy h2{font-size:calc(1.375rem * var(--elan-ui-scale,1))!important;line-height:1.25!important;margin-bottom:14px!important}
html[data-theme] .v29-app .abc-zones li{display:flex;flex-wrap:wrap;min-width:0;gap:6px 12px;font-size:var(--eu-small);line-height:1.5}
html[data-theme] .v29-app .abc-zones li>div{flex:1 1 140px;min-width:0}
html[data-theme] .v29-app .abc-zones strong{max-width:100%;flex:0 1 auto;margin-left:auto;white-space:normal;font-size:var(--eu-small)}
html[data-theme] :is(.v29-app,.modal-card) .ae-text-button{display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;min-height:44px;height:auto;padding:8px 10px!important;border:0!important;border-radius:10px;background:transparent!important;color:var(--es-accent-ink)!important;font:550 var(--eu-text)/1.4 var(--eu-font)!important;white-space:normal;overflow-wrap:break-word;box-shadow:none!important}
html[data-theme] .v29-app .ae-page-heading>.ae-text-button{border:1px solid var(--es-line)!important;border-radius:999px;background:var(--es-panel)!important;color:var(--es-ink)!important;padding-inline:16px!important}
@media(hover:hover) and (pointer:fine){html[data-theme] :is(.v29-app,.form-welcome,.modal-card,.form-partnership-dialog,.fn-panel) :is(.v29-main-btn,.primary-action,.ae-button-primary,.ff-primary,.elan-photo-card__primary,.soc-save>button):not(:disabled):hover{background:var(--eu-primary-press)!important;color:var(--eu-primary-ink)!important;filter:none!important}}
@media(max-width:600px){
 html[data-theme] .v29-app :is(.v29-page,.bw-page){padding-inline:16px}
 html[data-theme] .v29-app .bw-content{padding-inline:0}
 html[data-theme] .v29-app .bw-content>.bw-sections{margin-inline:16px;max-width:calc(100% - 32px)}
 html[data-theme] .v29-app :is(.v29-form-card,.bw-panel,.p33-presentation,.ae-edit-preview){padding:16px}
 html[data-theme] .v29-app .ae-page-heading{align-items:flex-start;gap:10px}
 html[data-theme] .v29-app .ae-page-heading h1{flex:1 1 150px;min-width:0}
 html[data-theme] .v29-app :is(.bw-form-grid,.v29-form-two){grid-template-columns:minmax(0,1fr)}
 html[data-theme] .v29-app .bw-toolbar>label{min-width:0;flex:1 1 100%}
 html[data-theme] .v29-app .bw-assets{grid-template-columns:minmax(0,1fr)}
 html[data-theme] .v29-app :is(.bw-head,.bw-section-head){align-items:flex-start;gap:12px}
}
html[data-app-text="large"] .v29-app :is(.v29-form-two,.bw-form-grid){grid-template-columns:minmax(0,1fr)}
html[data-app-text="large"] .v29-app .p33-presentation{grid-template-columns:minmax(0,1fr)}
html[data-app-text="large"] .v29-app .p33-presentation .p33-portrait{width:100%;height:180px}
html[data-theme] .v29-app :is(.ae-text-button,.bw-section-head button,.bw-asset-actions button):active{transform:none!important;filter:none!important}
@media(prefers-reduced-motion:no-preference){html:not([data-app-motion="reduced"]) .v29-app [data-page-enter]{animation:elan-ui-enter 180ms ease-out both!important}}
html[data-app-motion="reduced"] :is(.v29-app,.form-welcome,.modal-card) :is(button,label,input,summary){transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(.v29-app,.form-welcome,.modal-card) :is(button,label,input,summary){transition:none!important;animation:none!important}}

/* SOMAGON identity. Horizontal lockup (mark + wordmark) in headers, signature under the
   entry wordmark as in the supplied logo. The logo pixels are never recoloured by theme:
   only the wordmark follows the text colour; the blades keep their own gradients. */
/* Older headers hide every span inside the wordmark button: the lockup stays visible. */
html[data-theme] .somagon-lockup{display:inline-flex!important;align-items:center;gap:7px;line-height:0;color:inherit}
html[data-theme] #app :is(.fw-auth-name,.ep-wordmark,.fw-wordmark) .somagon-lockup>.somagon-lockup-mark{display:block;flex:none;width:26px;height:auto}
html[data-theme] #app :is(.fw-auth-name,.ep-wordmark,.fw-wordmark) .somagon-lockup>.fw-brand-wordmark{display:block;flex:none;width:96px;height:auto;max-width:none}
html[data-theme] .v29-app .form-app-header .ep-wordmark:not(#_){width:auto}
@media(max-width:360px){html[data-theme] #app :is(.fw-auth-name,.ep-wordmark,.fw-wordmark) .somagon-lockup>.fw-brand-wordmark{width:84px}}
/* Narrow sign-in header: the mark alone leaves room for the switch action (the name stays in aria-label). */
@media(max-width:360px){html[data-theme] #app .fw-auth-name .somagon-lockup>.fw-brand-wordmark{display:none}html[data-theme] #app .fw-auth-name .somagon-lockup>.somagon-lockup-mark{width:30px}}
/* Violet marks the active tab (state, not decoration). Same selector weight as mobile-bounds.css, loaded later. */
html[data-theme] #app .v29-app nav.en-tabbar>button[data-nav]:is(.active,[aria-current="page"]){color:var(--es-accent-ink)!important}
/* Stacked page heading (brand-view preview): the title's 150px flex basis must not become a height. */
html[data-theme] .v29-app .ae-private-preview>.ae-page-heading h1{flex:none}
/* Patch makers: the back-to-settings action keeps readable inner spacing. */
html[data-theme] #app .fv-heading>.v29-ghost-btn{flex:none;padding:10px 16px!important;white-space:nowrap}
/* Entry: the wordmark is a block inside the heading; centre it on the same axis as the mark and signature. */
html[data-theme] .form-welcome .fw-entry-identity h1{width:100%;text-align:center}
html[data-theme] .form-welcome .fw-entry-identity h1 .fw-brand-wordmark{margin-inline:auto}
/* Photo cards: Recadrer and Remplacer share one row; the download is a plain, named text action below. */
html[data-theme] #app .elan-photo-card__secondary>[data-elan-control]{width:100%;min-width:0!important}
html[data-theme] #app .elan-photo-card__download{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:0;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--es-muted);font:500 calc(.8125rem * var(--elan-ui-scale,1))/1.3 var(--elan-ui-font,system-ui);cursor:pointer;box-shadow:none}
html[data-theme] #app .elan-photo-card__download>svg{flex:none;width:17px;height:17px}
html[data-theme] #app .elan-photo-card__download:active{background:var(--es-soft);color:var(--es-ink)}
@media(hover:hover){html[data-theme] #app .elan-photo-card__download:hover{background:var(--es-soft);color:var(--es-ink)}}
html[data-theme] #app .elan-photo-card__download:focus-visible{outline:2px solid var(--es-focus);outline-offset:2px}
/* SOMAGON entry: two-action home, account choice and the Aura button system
   (primary violet pill, secondary tonal pill, quiet text link). Surfaces stay opaque so text contrast is measurable. */
html[data-theme]{--fw-hairline:rgba(246,243,250,.10);--fw-hairline-strong:rgba(246,243,250,.16);--fw-secondary:rgba(246,243,250,.07);--fw-secondary-press:rgba(246,243,250,.12);--fw-selected:#271E46;--fw-selected-ink:#DED5FF;--fw-selected-line:rgba(118,87,255,.60);--fw-tile:#1D1928}
html[data-theme="light"]{--fw-hairline:rgba(25,25,50,.10);--fw-hairline-strong:rgba(25,25,50,.16);--fw-secondary:#FFFFFF;--fw-secondary-press:#F0EBFA;--fw-selected:#EFEBFF;--fw-selected-ink:#5F40EE;--fw-selected-line:rgba(118,87,255,.50)}
html[data-theme] .form-welcome.fw-entry-page .fw-entry-identity{margin-bottom:36px}
html[data-theme] .form-welcome.fw-entry-page .fw-entry-symbol{flex:none;width:150px;height:88px;margin-bottom:10px}
html[data-theme] .form-welcome.fw-entry-page .fw-entry-symbol>.fw-entry-mark{display:block;width:100%;max-width:none;height:100%;overflow:visible}
.fw-entry-blade-top,.fw-entry-blade-bottom{transform-box:view-box;transform-origin:0 0}
/* After the opening, the blades keep gliding apart and back (about 3 % of the mark). Reduced motion stops it. */
html[data-theme] .form-welcome.fw-entry-page:not([data-entry-opening]) :is(.fw-entry-blade-top,.fw-entry-blade-bottom){animation:2800ms cubic-bezier(.45,0,.25,1) infinite}
html[data-theme] .form-welcome.fw-entry-page:not([data-entry-opening]) .fw-entry-blade-top{animation-name:somagon-blade-top}
html[data-theme] .form-welcome.fw-entry-page:not([data-entry-opening]) .fw-entry-blade-bottom{animation-name:somagon-blade-bottom}
html[data-app-motion="reduced"] .fw-entry-page :is(.fw-entry-blade-top,.fw-entry-blade-bottom){animation:none!important}
@media(prefers-reduced-motion:reduce){.fw-entry-page :is(.fw-entry-blade-top,.fw-entry-blade-bottom){animation:none!important}}
html[data-theme] .form-welcome.fw-entry-page .fw-entry-actions{display:grid;gap:12px;width:min(100%,320px);margin-inline:auto}
html[data-theme] .form-welcome .fw-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin:0;padding:12px 24px;border:0;border-radius:999px;font:600 calc(1rem * var(--elan-ui-scale,1))/1.25 var(--elan-ui-font,system-ui);letter-spacing:.005em;text-transform:none;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,transform .18s ease}
html[data-theme] .form-welcome .fw-btn:active{transform:scale(.985)}
html[data-theme] .form-welcome .fw-btn:focus-visible{outline:2px solid var(--es-focus);outline-offset:3px}
html[data-theme] .form-welcome .fw-btn--primary{background:var(--eu-primary,#7657FF);color:var(--eu-primary-ink,#FFFFFF);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
html[data-theme] .form-welcome .fw-btn--primary:active{background:var(--eu-primary-press,#6A4BF5)}
html[data-theme] .form-welcome .fw-btn--secondary{background:var(--fw-secondary);color:var(--es-ink);box-shadow:inset 0 0 0 1px var(--fw-hairline)}
html[data-theme="light"] .form-welcome .fw-btn--secondary{box-shadow:inset 0 0 0 1px var(--fw-hairline),0 1px 2px rgba(25,25,50,.06)}
html[data-theme] .form-welcome .fw-btn--secondary:active{background:var(--fw-secondary-press)}
@media(hover:hover){html[data-theme] .form-welcome .fw-btn--primary:hover{background:var(--eu-primary-press,#6A4BF5)}html[data-theme] .form-welcome .fw-btn--secondary:hover{background:var(--fw-secondary-press)}}
/* Account screens share a centered form and alternate account action. */
html[data-theme] .form-welcome.fw-auth .fw-auth-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html[data-theme] .form-welcome.fw-auth .fw-auth-card form{gap:16px}
html[data-theme] .form-welcome.fw-auth .fw-auth-card .v29-auth-title>h1{font:700 calc(1.75rem * var(--elan-ui-scale,1))/1.15 var(--elan-ui-font,system-ui);letter-spacing:-.015em;color:var(--es-ink)}
html[data-theme] .form-welcome.fw-auth .fw-auth-card .fw-account-help{color:var(--es-muted);font:400 calc(.9375rem * var(--elan-ui-scale,1))/1.5 var(--elan-ui-font,system-ui)}
html[data-theme] .form-welcome.fw-auth .fw-auth-card form>label{gap:8px;color:var(--es-muted);font:600 calc(.8125rem * var(--elan-ui-scale,1))/1.3 var(--elan-ui-font,system-ui);letter-spacing:.01em}
/* The two account forms are targeted by id: the app-wide field and compact-button rules (#app, !important) stay untouched elsewhere. */
html[data-theme] #app .form-welcome.fw-auth :is(#auth-signup .fw-auth-label,#auth-signin>label)>input{min-height:52px;padding:12px 16px;border:1px solid var(--fw-hairline-strong)!important;border-radius:14px!important;background:var(--es-panel)!important;color:var(--es-ink)!important;font:400 max(16px,calc(1rem * var(--elan-ui-scale,1)))/1.3 var(--elan-ui-font,system-ui)!important;box-shadow:none!important;transition:border-color .18s ease}
html[data-theme] #app .form-welcome.fw-auth :is(#auth-signup .fw-auth-label,#auth-signin>label)>input::placeholder{color:var(--es-faint)!important}
html[data-theme] #app .form-welcome.fw-auth :is(#auth-signup .fw-auth-label,#auth-signin>label)>input:focus{border-color:var(--eu-primary,#7657FF)!important}
html[data-theme] #app .form-welcome.fw-auth :is(#auth-signup,#auth-signin)>button[type=submit]{min-height:52px!important;padding:12px 24px!important;border-radius:14px!important;font:600 calc(1rem * var(--elan-ui-scale,1))/1.25 var(--elan-ui-font,system-ui)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important}

/* Every account step places its circular back target beside the title.
   Natural scrolling keeps enlarged text and open disclosures reachable. */
html[data-theme] #app .form-welcome.fw-auth>main.fw-auth-grid{width:min(420px,calc(100% - 40px));min-width:0;flex:1 0 auto;display:flex;flex-direction:column;justify-content:safe center;padding:max(24px,env(safe-area-inset-top,0px)) 0 max(40px,env(safe-area-inset-bottom,0px))}
html[data-theme] #app .form-welcome.fw-auth .fw-auth-stack{width:100%;min-width:0;max-width:100%}
html[data-theme] #app .form-welcome.fw-auth .v29-auth-title{text-align:center}
html[data-theme] #app .form-welcome.fw-auth .fw-auth-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}
html[data-theme] #app .form-welcome.fw-auth .fw-auth-heading .v29-auth-title{min-width:0;margin:0}
html[data-theme] #app .form-welcome.fw-auth .fw-auth-heading h1{margin:0;overflow-wrap:anywhere}
html[data-theme] #app .form-welcome.fw-auth .fw-account-help{text-align:center}
html[data-theme] #app .form-welcome.fw-auth .fw-role-chip{align-self:center;max-width:100%}
html[data-theme] #app .form-welcome.fw-auth .fw-account-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:6px;row-gap:0;min-width:0;margin:0;color:var(--es-muted);font:400 calc(.875rem * var(--elan-ui-scale,1))/1.5 var(--elan-ui-font,system-ui);text-align:center}
@media(max-height:650px){html[data-theme] #app .form-welcome.fw-auth>main.fw-auth-grid{padding-top:max(12px,env(safe-area-inset-top,0px))}}


/* Registration: the header, fields and optional help have their own spacing. */
html[data-theme] #app .form-welcome.fw-auth #auth-signup{gap:0}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-signup-intro{display:flex;flex-direction:column;gap:16px;min-width:0;margin-bottom:32px}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-signup-fields{display:grid;gap:24px;min-width:0}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-auth-field{display:grid;gap:8px;min-width:0}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-auth-label{display:grid;gap:8px;min-width:0;margin:0;color:var(--es-muted);font:600 calc(.8125rem * var(--elan-ui-scale,1))/1.3 var(--elan-ui-font,system-ui);letter-spacing:.01em}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-auth-field>small{display:block;margin:0;color:var(--es-muted);font:400 calc(.8125rem * var(--elan-ui-scale,1))/1.5 var(--elan-ui-font,system-ui)}
html[data-theme] #app .form-welcome.fw-auth #auth-signup>.v29-main-btn{margin-top:28px}
html[data-theme] #app .form-welcome.fw-auth #auth-signup>.fw-account-help{margin:12px 0 0;font-size:calc(.8125rem * var(--elan-ui-scale,1))}
html[data-theme] #app .form-welcome.fw-auth #auth-signup>.fw-account-switch{margin-top:16px}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .sp-picker{gap:16px}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .sp-legend{margin:0 0 12px;font:600 calc(.875rem * var(--elan-ui-scale,1))/1.3 var(--elan-ui-font,system-ui);color:var(--es-ink)}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .sp-summary{display:grid;gap:16px}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .sp-row{gap:8px}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .sp-label{color:var(--es-muted);font-size:calc(.8125rem * var(--elan-ui-scale,1))}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .sp-primary{box-sizing:border-box;min-height:52px;padding:12px 16px;border-radius:14px!important;font:400 max(16px,calc(1rem * var(--elan-ui-scale,1)))/1.3 var(--elan-ui-font,system-ui)}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .sp-add{box-sizing:border-box;max-width:100%;min-height:44px;padding:8px 0;border:0;border-radius:6px;background:transparent;font-weight:600}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-signup-extras{display:grid;gap:8px;min-width:0;margin-top:24px;padding-top:16px;border-top:1px solid var(--fw-hairline)}
html[data-theme] #app .form-welcome.fw-auth #auth-signup [data-auth-athlete-tips]:empty{display:none}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-signup-extras :is(.ag-signup,.fw-demo-signup){margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html[data-theme] #app .form-welcome.fw-auth #auth-signup .fw-signup-extras summary{box-sizing:border-box;min-height:44px;padding:10px 0;font:500 calc(.875rem * var(--elan-ui-scale,1))/1.5 var(--elan-ui-font,system-ui)}

/* Account choice: one card per side of the partnership. */
html[data-theme] .form-welcome.fw-choice .fw-choice-card{display:flex;flex-direction:column;gap:12px}
html[data-theme] .form-welcome.fw-choice .fw-choice-card .v29-auth-title{margin:0}
html[data-theme] .form-welcome.fw-choice .fw-choice-card .fw-account-help{margin:0 0 16px}
html[data-theme] .form-welcome .fw-role-cards{display:grid;gap:14px}
html[data-theme] .form-welcome .fw-role-card{box-sizing:border-box;display:grid;grid-template-columns:52px minmax(0,1fr) 20px;align-items:center;gap:16px;width:100%;min-height:96px;margin:0;padding:18px 18px 18px 16px;border:0;border-radius:20px;background:var(--es-panel);box-shadow:inset 0 0 0 1px var(--fw-hairline);color:var(--es-ink);text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
html[data-theme] .form-welcome .fw-role-card:active{transform:scale(.99);background:var(--es-soft);box-shadow:inset 0 0 0 1.5px var(--eu-primary,#7657FF)}
@media(hover:hover){html[data-theme] .form-welcome .fw-role-card:hover{box-shadow:inset 0 0 0 1px var(--fw-hairline-strong)}}
html[data-theme] .form-welcome :is(.fw-role-card,.fw-role-chip):focus-visible{outline:2px solid var(--es-focus);outline-offset:3px}
html[data-theme] .form-welcome .fw-role-tile{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--fw-tile)}
html[data-theme] .form-welcome .fw-role-tile>.fw-blade{display:block;width:32px;height:auto}
html[data-theme] .form-welcome .fw-role-text{min-width:0}
html[data-theme] .form-welcome .fw-role-text>strong{display:block;font:600 calc(1.0625rem * var(--elan-ui-scale,1))/1.25 var(--elan-ui-font,system-ui);color:var(--es-ink)}
html[data-theme] .form-welcome .fw-role-text>small{display:block;margin-top:4px;font:400 calc(.875rem * var(--elan-ui-scale,1))/1.4 var(--elan-ui-font,system-ui);color:var(--es-muted);overflow-wrap:break-word;hyphens:auto}
html[data-theme] .form-welcome .fw-role-chevron{width:20px;height:20px;color:var(--es-muted)}
html[data-theme] .form-welcome .fw-role-chip{box-sizing:border-box;display:inline-flex;align-items:center;align-self:flex-start;gap:10px;min-height:44px;margin:0;padding:10px 16px;border:0;border-radius:14px;background:var(--es-panel);box-shadow:inset 0 0 0 1px var(--fw-hairline);color:var(--es-ink);font:600 calc(.875rem * var(--elan-ui-scale,1))/1.2 var(--elan-ui-font,system-ui);cursor:pointer}
html[data-theme] .form-welcome .fw-role-chip>.fw-role-tile{width:32px;height:32px;border-radius:999px}
html[data-theme] .form-welcome .fw-role-chip>.fw-role-tile>.fw-blade{width:20px}
html[data-theme] .form-welcome .fw-role-chip>em{font-style:normal;font-weight:500;color:var(--es-accent-ink)}
html[data-theme] .form-welcome.fw-choice .fw-choice-more{display:flex;justify-content:center;margin-top:24px}
/* Short screens: a smaller mark and tighter identity keep the two actions in view. */
@media(max-height:650px){html[data-theme] .form-welcome.fw-entry-page .fw-entry-symbol{width:124px;height:73px}html[data-theme] .form-welcome.fw-entry-page .fw-entry-identity{gap:6px;margin-bottom:24px}}
@media(max-height:500px){html[data-theme] .form-welcome.fw-entry-page .fw-entry-symbol{width:100px;height:59px}html[data-theme] .form-welcome.fw-entry-page .fw-entry-identity .fw-brand-wordmark{width:180px}}

/* Account identifiers open directly in a viewport-sized native dialog. */
html .v29-app .ea-settings .ea-session .ea-identity-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--es-line);min-width:0}
.ea-identity-row>div{min-width:0}.ea-identity-row dd{overflow-wrap:anywhere}html .v29-app .ea-settings .ea-identity-row>button{flex:none;width:auto;min-height:44px;margin:0}
html .v29-app .ea-settings .ea-credential-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 24px);max-width:540px;max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--es-line);border-radius:16px;background:var(--es-panel);color:var(--es-ink);overflow:auto;overscroll-behavior:contain}
.ea-credential-dialog:not([open]){display:none!important}.ea-credential-dialog::backdrop{background:rgba(7,5,12,.7)}
.ea-credential-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--es-line)}
.ea-credential-dialog h2{margin:0;font-size:20px;line-height:1.35;min-width:0;overflow-wrap:break-word}
html .v29-app .ea-settings .ea-credential-dialog>header>button{flex:none;width:auto;margin:0}
.ea-credential-dialog form{display:grid;gap:16px;padding:16px;min-width:0}.ea-credential-dialog .ea-field{display:grid;gap:8px;margin:0;min-width:0}
html .v29-app .ea-settings .ea-credential-dialog input{width:100%;min-width:0;box-sizing:border-box;min-height:48px;font-size:16px}
.ea-credential-dialog footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding-top:8px}.ea-credential-dialog footer button{flex:1 1 150px;min-height:48px}
html .v29-app .ea-settings .ea-credential-dialog footer button{width:auto;min-height:48px;margin:0}
.ea-credential-dialog .ea-feedback:empty{display:none}.ea-credential-dialog [role="alert"]{color:var(--es-danger)}

/* Review request after a suspended sign-in */
.fw-auth-card .auth-appeal{margin:20px 0 0;padding:16px;border:1px solid var(--fw-line);border-radius:9px;background:var(--fw-bg);display:grid;gap:12px}
.fw-auth-card .auth-appeal h2{font:600 18px/1.3 var(--fw-font);margin:0}
.fw-auth-card .auth-appeal p{margin:0;font-size:14px;line-height:1.5;color:var(--fw-muted)}
.fw-auth-card .auth-appeal ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px;line-height:1.5}
.fw-auth-card .auth-appeal li{padding:10px 12px;border:1px solid var(--fw-line);border-radius:9px;overflow-wrap:anywhere}
.fw-auth-card .auth-appeal textarea{width:100%;min-height:96px;font:inherit}
.fw-auth-card .auth-appeal-status:empty{display:none}
