/* Authentication fits the viewport without disabling zoom or text resizing. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.auth-shell,.auth-main,.auth-brand,.auth-card,.auth-card form{min-width:0;max-width:100%}
.auth-card{overflow-wrap:anywhere}
.auth-card .field input,.auth-card .field select,.auth-card .field textarea{font-size:max(16px,1rem);min-height:48px}
.auth-password-control{display:flex;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
.auth-password-control input{width:100%;min-width:0;flex:1;border:0;padding:11px 12px;color:var(--ink);background:transparent;font:inherit;outline:none}
.auth-password-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.auth-password-toggle{flex:0 0 auto;padding:8px 12px;min-height:48px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:1rem;cursor:pointer}
.auth-password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.auth-card .text-button{min-height:44px;white-space:normal}
.auth-social-button{min-width:0;white-space:normal;overflow-wrap:anywhere}
.auth-social-button span{min-width:0}
.native-human-auth{box-sizing:border-box;display:grid;place-items:center;min-height:100dvh;min-width:0;padding:calc(24px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px));font:-apple-system-body;font-family:var(--font);color:var(--ink)}
.native-human-auth-card{width:min(100%,420px);min-width:0;display:grid;gap:20px;overflow-wrap:anywhere;text-align:center}
.native-human-auth-card>img{margin:auto}
.native-human-auth-card>h1{font-size:2rem;line-height:1.2;margin:0}
.native-human-auth-card p{margin:0;line-height:1.6}
.native-human-auth-card .button,.native-human-auth-card .text-button{min-height:48px;white-space:normal;font:inherit}
.native-human-auth-help{color:var(--muted)}
.native-human-auth-notice{padding:14px;border:1px solid var(--line);border-radius:12px;text-align:left}
html[data-native-authentication=true] body>aside[aria-label="Inkore"]{display:none}
html[data-native-authentication=true]:has(.auth-native-refraction) body>aside[aria-label="Inkore"]{display:flex}
@media(max-width:760px){
 .auth-shell{grid-template-columns:minmax(0,1fr);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
 .auth-brand{min-height:0;padding:calc(24px + env(safe-area-inset-top,0px)) 20px 20px}
 .auth-main{padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px))}
 .auth-card{width:100%;max-width:100%;box-sizing:border-box}
 .auth-message h1{font-size:clamp(1.9rem,8vw,2.75rem);overflow-wrap:break-word}
 .auth-password-control{max-width:100%}
}
html[data-native-platform=ios] .auth-card input{font:-apple-system-body;font-family:var(--font);font-size:max(16px,1rem)}
html[data-native-platform=ios] .auth-card .field>span{font-size:1rem}

/* Mac human authentication uses the same Réfraction scene and public assets
 * as the workspace. These rules only finish the native form controls; the
 * palette, plume, glass and type remain supplied by refraction.css.
 * The full shared Inkore signature stays at the top of this window. */
.auth-native-refraction{
 box-sizing:border-box;
 width:100%;
 min-height:100dvh;
 font-family:var(--font);
 color:var(--ink);
 padding-top:env(safe-area-inset-top,0px);
 padding-bottom:env(safe-area-inset-bottom,0px);
}
.auth-native-refraction .auth-brand{min-width:0}
.auth-native-refraction .auth-brand .brand{gap:11px;font-size:25px;letter-spacing:-.04em}
.auth-native-refraction .auth-brand .brand img{width:32px;height:32px;border-radius:9px;box-shadow:0 3px 8px #1d334510}
.auth-native-refraction .auth-message{min-width:0;padding-top:44px;padding-bottom:32px}
.auth-native-refraction .auth-message h1{white-space:pre-line;font-weight:600;letter-spacing:-.025em;line-height:1.08}
.auth-native-refraction .auth-message>p{font-size:1.0625rem;line-height:1.6;color:var(--text)}
.auth-native-refraction .auth-message>.notice{margin-top:22px;color:var(--text)}
.auth-native-refraction .auth-card{
 width:min(100%,420px);
 box-sizing:border-box;
 border-radius:var(--r-lg);
 background:var(--glass);
 border:1px solid var(--stroke);
 box-shadow:var(--shadow-float);
 backdrop-filter:blur(24px) saturate(1.08);
 -webkit-backdrop-filter:blur(24px) saturate(1.08);
}
.auth-native-refraction .auth-card>h2{margin-bottom:12px;font-size:26px;font-weight:560;letter-spacing:-.02em;line-height:1.3}
.auth-native-description{margin:0 0 24px;color:var(--text);font-size:.9375rem;line-height:1.65}
.auth-native-refraction .auth-card form{gap:18px}
.auth-native-refraction .field>span{color:var(--text);font-weight:560;line-height:1.5}
.auth-native-refraction .field>input,
.auth-native-refraction .auth-password-control{
 background:var(--glass-strong);
 border:1px solid var(--line);
 border-radius:15px;
 color:var(--ink);
}
.auth-native-refraction .field>input{width:100%;min-width:0;box-sizing:border-box;min-height:48px;padding:12px 15px}
.auth-native-refraction .auth-password-control{min-height:48px;max-width:100%}
.auth-native-refraction .auth-password-control input{min-width:0;min-height:48px;padding:12px 15px;font-size:max(16px,1rem)}
.auth-native-refraction .auth-password-toggle{padding-inline:14px;min-width:76px;color:var(--accent);font-size:.9375rem;font-weight:500}
.auth-native-refraction .auth-password-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.auth-native-refraction .button.primary{min-height:48px;border-radius:99px;font-size:.9375rem;line-height:1.4}
.auth-native-refraction .auth-social-button{min-height:48px;border-radius:15px;background:var(--glass-strong);border-color:var(--line);color:var(--ink)}
.auth-native-refraction .auth-social-button:disabled{color:var(--muted);opacity:.7}
.auth-native-refraction .auth-social-notice{padding:13px 16px;border:1px solid var(--line);border-left:2px solid var(--rose-ink);border-radius:0 13px 13px 0;background:var(--glass-soft);color:var(--text);line-height:1.65}
.auth-native-refraction .auth-links{gap:2px;border-color:var(--line)}
.auth-native-refraction .auth-links .text-button{justify-content:flex-start;min-height:44px;font-size:.9375rem;color:var(--muted)}
.auth-native-refraction .auth-switch{font-size:.9375rem;line-height:1.6;gap:8px}
.auth-native-refraction .auth-legal{font-size:.9375rem;line-height:1.8;color:var(--muted)}
html:has(.auth-native-refraction) #modal{border-radius:var(--r-lg);background:var(--glass-strong);border-color:var(--stroke);color:var(--ink);box-shadow:var(--shadow-float)}
html:has(.auth-native-refraction) #modal h2{font-size:26px;font-weight:560;letter-spacing:-.02em;line-height:1.3}
html:has(.auth-native-refraction) #modal .field>input{background:var(--glass-strong);border-radius:15px;min-height:48px;font-size:max(16px,1rem)}
@media(max-width:760px){
 .auth-native-refraction{padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px)}
 .auth-native-refraction .auth-brand{padding:24px 20px 20px;min-height:0}
 .auth-native-refraction .auth-brand .brand{font-size:23px}
 .auth-native-refraction .auth-message{margin:0;padding:32px 0 0}
 .auth-native-refraction .auth-message h1{font-size:clamp(2rem,7.9vw,2.75rem);margin-top:18px}
 .auth-native-refraction .auth-message>p{font-size:1.0625rem}
 .auth-native-refraction .auth-main{padding:12px 16px 32px}
 .auth-native-refraction .auth-card{width:100%;max-width:100%;padding:26px 22px 22px;border-radius:26px}
}
@media(max-width:420px){
 .auth-native-refraction .auth-brand{padding-inline:16px}
 .auth-native-refraction .auth-main{padding-inline:12px}
 .auth-native-refraction .auth-card{padding:24px 16px 20px}
 .auth-native-refraction .auth-password-toggle{min-width:72px;padding-inline:10px}
}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){
 .auth-native-refraction .auth-card,
 html:has(.auth-native-refraction) #modal{background:var(--glass-strong);border-color:var(--ink)}
 .auth-native-refraction .auth-links .text-button,
 .auth-native-refraction .auth-legal{color:var(--text)}
}

/* Native reprise and mail confirmation retain the same Réfraction world as
 * the native controller. The existing global companion is hidden on these
 * pages; the small decorative signature belongs inside the safe area. */
.native-human-auth-refraction{
 display:block;
 width:100%;
 min-height:100dvh;
 padding:calc(28px + env(safe-area-inset-top,0px)) calc(42px + env(safe-area-inset-right,0px)) calc(36px + env(safe-area-inset-bottom,0px)) calc(42px + env(safe-area-inset-left,0px));
 font-family:var(--font);
 background:transparent;
 color:var(--ink);
}
:root:has(.native-human-auth-refraction) .scene{display:block!important;visibility:visible;opacity:1}
.native-auth-header{position:relative;display:flex;align-items:center;min-height:48px;gap:24px;max-width:1250px;margin:auto}
.native-auth-brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:25px;letter-spacing:-.04em}
.native-auth-brand img{flex:none;width:32px;height:32px;border-radius:9px;box-shadow:0 3px 8px #1d334510}
.native-auth-brand strong{font-weight:520}
.native-auth-signature{position:absolute;left:50%;top:0;transform:translateX(-50%);display:flex;align-items:center;justify-content:flex-start;gap:9px;box-sizing:border-box;width:170px;height:40px;padding:0 11px;border-radius:22px;background:#22323b;box-shadow:0 14px 34px -14px #03081855,inset 0 0 0 .5px #ffffff14;pointer-events:none}
.native-auth-signature img{flex:none;object-fit:contain;filter:drop-shadow(0 2px 3px #10212633)}
.native-auth-signature>.native-auth-status{flex:none;width:7px;height:7px;border-radius:50%;background:#93bb9f;box-shadow:0 0 0 3px #93bb9f24}
.native-auth-signature>b{font-weight:600;font-size:.9375rem;color:#f3f5ef;letter-spacing:-.005em}
.native-auth-signature>.native-auth-count{flex:none;font-size:.9375rem;color:#bccbcb;font-variant-numeric:tabular-nums}
.native-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:clamp(32px,6vw,100px);max-width:1150px;min-height:calc(100dvh - 170px);margin:0 auto}
.native-auth-hero{min-width:0;padding:40px 0;max-width:520px}
.native-auth-hero .eyebrow{font-size:.9375rem;letter-spacing:.14em;color:var(--ink)}
.native-auth-hero h2{font-size:clamp(2.5rem,4.6vw,4.5rem);font-weight:600;letter-spacing:-.025em;line-height:1.08;margin:22px 0;color:var(--ink);overflow-wrap:break-word}
.native-auth-hero p{max-width:400px;font-size:1.0625rem;line-height:1.6;color:var(--text);margin:0}
.native-human-auth-refraction .native-human-auth-card{box-sizing:border-box;width:100%;max-width:420px;padding:34px 34px 28px;gap:20px;border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--glass);box-shadow:var(--shadow-float);backdrop-filter:blur(24px) saturate(1.08);-webkit-backdrop-filter:blur(24px) saturate(1.08);text-align:left}
.native-human-auth-refraction .native-human-auth-card>h1{font-size:1.625rem;font-weight:560;letter-spacing:-.02em;line-height:1.3;margin:6px 0 0}
.native-human-auth-refraction .native-human-auth-card p{font-size:.9375rem;line-height:1.65;color:var(--text)}
.native-human-auth-refraction .native-human-auth-card .button{min-height:48px;border-radius:99px;font-size:.9375rem;line-height:1.4}
.native-human-auth-refraction .native-human-auth-card .text-button{min-height:48px;justify-content:flex-start;text-align:left;color:var(--accent);font-size:.9375rem}
.native-human-auth-refraction .native-human-auth-card .native-human-auth-help{font-size:.9375rem;line-height:1.7;color:var(--muted)}
.native-human-auth-refraction .native-human-auth-notice{padding:14px 16px;border:1px solid var(--line);border-left:2px solid var(--rose-ink);border-radius:0 13px 13px 0;background:var(--glass-soft);color:var(--text)}
@media(max-width:760px){
 .native-human-auth-refraction{padding:calc(24px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px))}
 .native-auth-header{min-height:112px;align-items:flex-start}
 .native-auth-brand{font-size:23px}
 .native-auth-signature{top:56px}
 .native-auth-layout{grid-template-columns:minmax(0,1fr);gap:20px;min-height:0}
 .native-auth-hero{padding:18px 0 0;max-width:100%}
 .native-auth-hero h2{font-size:clamp(2rem,7.9vw,2.75rem);margin:18px 0}
 .native-auth-hero p{font-size:1.0625rem;max-width:100%}
 .native-human-auth-refraction .native-human-auth-card{max-width:100%;padding:26px 22px 22px;border-radius:26px}
}
@media(max-width:420px){
 .native-human-auth-refraction{padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px))}
 .native-human-auth-refraction .native-human-auth-card{padding:24px 16px 20px}
}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){
 .native-human-auth-refraction .native-human-auth-card{background:var(--glass-strong);border-color:var(--ink)}
 .native-human-auth-refraction .native-human-auth-card .native-human-auth-help{color:var(--text)}
}
@media(prefers-reduced-transparency:reduce){
 .auth-native-refraction .auth-card,
 html:has(.auth-native-refraction) #modal,
 .native-human-auth-refraction .native-human-auth-card{background:#f9fbfa;backdrop-filter:none;-webkit-backdrop-filter:none}
 :root[data-theme=dark] .auth-native-refraction .auth-card,
 :root[data-theme=dark]:has(.auth-native-refraction) #modal,
 :root[data-theme=dark] .native-human-auth-refraction .native-human-auth-card{background:#223437}
}

.auth-native-refraction .auth-theme-switch{min-height:48px;min-width:48px;gap:8px;font-size:.9375rem;border-radius:99px;background:var(--glass-soft);color:var(--ink)}
.auth-native-refraction .auth-theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:760px){.auth-native-refraction .auth-top{top:23px;right:20px}.auth-native-refraction .auth-brand .brand{padding-right:96px}}
