@layer pages{:root{--icon-eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");--icon-eye-off:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.4 10.4 0 0 1 12 5c6.4 0 10 7 10 7a17.7 17.7 0 0 1-3.2 4.1M6.6 6.6C3.8 8.4 2 12 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");--icon-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M7 12h.01M11 12h.01M15 12h.01'/%3E%3C/svg%3E");--icon-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");--icon-unlock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 7.5-2'/%3E%3C/svg%3E");--icon-key:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='M10.8 12.2L20 3M17 6l3 3M15 8l2 2'/%3E%3C/svg%3E")}.login-page{display:grid;grid-template-rows:auto minmax(0,1fr);inline-size:100%;min-block-size:100dvh;block-size:100dvh;overflow:hidden;background-color:var(--bg-0)}.login-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space2);min-block-size:52px;padding:max(4px,env(safe-area-inset-top)) max(var(--space1),env(safe-area-inset-right)) 4px max(var(--space1),env(safe-area-inset-left));& > :last-child{justify-self:end}}.login-topbar-home{display:flex;justify-self:start;align-items:center;gap:2px;min-block-size:44px;padding-inline:var(--space1);border-radius:var(--radius-input);color:var(--palette-muted);font-size:var(--font-size0);white-space:nowrap;&:hover{color:var(--palette-ink)}&:focus-visible{outline:2px solid var(--palette-accent);outline-offset:2px}}.login-topbar-label{margin:0;overflow:hidden;text-align:center;color:var(--palette-muted);font-size:var(--font-size0);font-weight:650;letter-spacing:0.04em;text-overflow:ellipsis;white-space:nowrap}.login-root{--dialog-inline-gutter:clamp(0.5rem,3vw,2rem);--dialog-block-gutter:clamp(0.5rem,3vh,2rem);display:grid;grid-template-columns:minmax(0,1fr);align-content:start;place-items:start center;inline-size:100%;min-block-size:0;block-size:100%;padding:var(--dialog-block-gutter) var(--dialog-inline-gutter);overflow:hidden;background-color:var(--bg-0);& > .login-card{max-block-size:calc(100% - var(--dialog-block-gutter) - var(--dialog-block-gutter));margin-block-start:clamp(var(--dialog-block-gutter),calc((100dvh - 40rem) / 2),22dvh);overflow-y:auto;overscroll-behavior:contain}}.login-card{inline-size:100%;padding:0;border-radius:var(--radius-input);@media (min-width:600px){max-inline-size:600px}}.login-root > .login-card[data-status='normal']:not(.login-card-mfa){padding:var(--space2);border:1px solid color-mix(in srgb,var(--palette-ui-border) 88%,transparent);border-radius:12px;background:var(--palette-paper);box-shadow:0 0 5px -1px var(--normal)}:root[data-theme='dark'] .login-root > .login-card[data-status='normal']:not(.login-card-mfa){padding:0}@media (prefers-color-scheme:dark){:root:not([data-theme]) .login-root > .login-card[data-status='normal']:not(.login-card-mfa){padding:0}}.login-root > .login-card-mfa{max-inline-size:640px;padding:clamp(1.25rem,3vw,2rem);border-radius:0;background:transparent;box-shadow:none}@media (max-width:599px){.login-root{--dialog-inline-gutter:12px;--dialog-block-gutter:12px;& > .login-card{max-block-size:100dvh}}.login-root > .login-card[data-status='normal']:not(.login-card-mfa){padding:0;box-shadow:none}.login-root > .login-card-mfa{max-inline-size:none;padding:clamp(1rem,5vw,1.5rem)}}:root[lang='ja'] .ls-page h1.ls-title{letter-spacing:0.18rem}.mfa-root{display:grid;gap:clamp(1.5rem,4vw,2rem);inline-size:100%;min-inline-size:0}.mfa-header{display:grid;gap:0.5rem}.mfa-title{margin:0;color:var(--palette-ink);font-size:clamp(1.5rem,4vw,1.9rem);font-weight:700;line-height:1.3}:root[lang='ja'] .mfa-title{letter-spacing:0.18rem}.mfa-description,.mfa-status{margin:0;color:var(--palette-muted);font-size:var(--font-size1);line-height:1.7}.mfa-status p{margin:0;line-height:1.4}.mfa-text-action{display:inline-flex;align-items:center;justify-self:center;min-block-size:44px;padding-inline:var(--space1);border:0;background:none;color:var(--palette-accent-strong);font-family:inherit;font-size:var(--font-size0);text-decoration:underline;text-underline-offset:0.18em;cursor:pointer;&:focus-visible{outline:2px solid var(--palette-accent);outline-offset:2px}&:disabled{cursor:wait;opacity:0.55}}:root[lang='ja'] .mfa-text-action{letter-spacing:0.09rem}.login-form{display:grid;gap:var(--space-4)}.login-field{display:grid;gap:var(--space-2);& label{font-size:var(--text-sm);font-weight:500}}.login-input{inline-size:100%;block-size:var(--control-md);padding-inline:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--background);color:var(--foreground);font:inherit;&:focus-visible{outline:2px solid var(--accent);outline-offset:1px}}.login-password{position:relative;& .login-input{padding-inline-end:var(--control-md)}}.login-reveal{position:absolute;inset-block:0;inset-inline-end:0;display:grid;place-items:center;inline-size:var(--control-md);border:0;background:none;color:var(--text-muted);cursor:pointer;& span{inline-size:18px;block-size:18px;background:currentColor;mask:var(--icon-eye) center / contain no-repeat}&[aria-pressed='true'] span{mask-image:var(--icon-eye-off)}&:hover{color:var(--foreground)}}.login-error{padding:var(--space-3);border-radius:var(--radius-control);background:color-mix(in oklch,oklch(0.6 0.2 25) 12%,var(--surface));color:var(--foreground);font-size:var(--text-sm);line-height:1.7;&[data-tone='info']{background:var(--accent-subtle)}}.login-submit,.login-alt-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);inline-size:100%;block-size:var(--control-md);border-radius:var(--radius-control);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;&:disabled{cursor:progress;opacity:0.7}}.login-submit{border:0;background:var(--foreground);color:var(--background);&:hover:not(:disabled){opacity:0.9}}.login-alt-button{border:1px solid var(--border);background:var(--surface);color:var(--foreground);&:hover:not(:disabled){background:var(--surface-muted)}}.login-text-button{justify-self:center;min-block-size:44px;min-inline-size:44px;padding:var(--space-1) var(--space-2);border:0;background:none;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;&:hover{color:var(--accent-strong)}}.login-step{display:grid;gap:var(--space-4)}.login-help{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7}.login-selected{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-control);background:var(--surface-muted);font-size:var(--text-sm);& span{color:var(--text-secondary)}& strong{font-weight:500;overflow-wrap:anywhere}& .login-text-button{margin-inline-start:auto;padding:0 var(--space-2);margin-inline-end:calc(-1 * var(--space-2))}}.login-note{color:var(--text-muted);font-size:var(--text-xs);line-height:1.7;& a{margin-inline-start:var(--space-2)}}[data-code]{font-variant-numeric:tabular-nums;letter-spacing:0.3em;text-align:center}.login-methods{display:grid;border-block-start:1px solid var(--border)}.login-method{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-4) var(--space-1);border:0;border-block-end:1px solid var(--border);background:none;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;&:hover{background:var(--surface-muted)}}.login-method-icon{inline-size:22px;block-size:22px;background:var(--text-secondary);mask:var(--icon-key) center / contain no-repeat;&[data-icon='code']{mask-image:var(--icon-grid)}&[data-icon='mail']{mask-image:var(--icon-mail)}&[data-icon='unlock']{mask-image:var(--icon-unlock)}}.login-method-copy{display:grid;gap:var(--space-1)}.login-method-title{font-size:var(--text-sm);font-weight:500}.login-method-desc{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.6}.mfa-root [data-mfa-fallback]{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:var(--space1);width:100%;min-width:0;& > p{flex-basis:100%;margin:0}}.mfa-root [data-mfa-fallback][hidden]{display:none}.mfa-text-action:disabled{cursor:wait;opacity:0.55}}
